如何在python中从字符串生成随机值?
我有一个字符串如何在python中从字符串生成随机值?,python,random,Python,Random,我有一个字符串'ABCDEF',我希望每次运行程序时随机生成4个唯一的字符 结果应该是: BDAF EDCB CAFE ... 我可以使用random.sample,但它需要使用列表,有没有办法使用字符串达到相同的结果?您确实可以使用random.sample;它将为您提供一个列表,但很容易将结果列表合并为字符串: result = ''.join(random.sample("ABCDEF", 4)) import random c = "ABCDEF" ''.join(random
'ABCDEF'
,我希望每次运行程序时随机生成4个唯一的字符
结果应该是:
BDAF
EDCB
CAFE
...
我可以使用
random.sample
,但它需要使用列表
,有没有办法使用字符串
达到相同的结果?您确实可以使用random.sample
;它将为您提供一个列表,但很容易将结果列表合并为字符串:
result = ''.join(random.sample("ABCDEF", 4))
import random
c = "ABCDEF"
''.join(random.sample(c, 4))
可以使用“”,然后将结果列表与“”连接,以创建字符串:
result = ''.join(random.sample("ABCDEF", 4))
import random
c = "ABCDEF"
''.join(random.sample(c, 4))
对于输入,您可以使用字符串,因为在Python中字符串也是一个列表(字符列表)您可以使用Python模块提供的函数。 用于从字符串中提取一组随机字符,然后执行以下操作: 有3种解决方案(可能还有100多种):
for
方法将N=4
字母中的每个字母追加到同一字符串,以及随机
模块的选择
方法,该方法从其参数中选择一个元素join
方法
一次性添加由random
模块的choices
方法生成的元素。choices
方法用途广泛,可以与多个参数()一起使用join
方法
一次性添加由random
模块的sample
方法生成的元素。sample(set,num)
方法随机选取set
中的num
元素方法1
random_string_1=""
for it in range(0,N):
random_string_1 = random_string_1 + random.choice(source_string)
方法2
random_string_2 = "".join(random.choices(source_string, weights=None,
cum_weights=None, k=N))
方法3
random_string_3 = "".join(random.sample(source_string, N))
random.sample
可以很好地处理字符串。您也可以轻松地将它返回的列表转换为字符串。这个答案的可能重复似乎很正常。但如果你能补充一些解释,那就太好了。这将提高答案的质量。OP希望从字符串“ABCDEF”中选择4个唯一的字符。你的代码没有这样做。我已经相应地修改了我的答案