我正在寻找一个函数或短程序,它接收一个字符串(最多10个字母)并将其洗牌。
答案 0 :(得分:84)
>>> import random
>>> s="abcdef123"
>>> ''.join(random.sample(s,len(s)))
'1f2bde3ac'
答案 1 :(得分:52)
随机模块中有一个函数shuffle。请注意,它会就地进行随机播放,因此您首先必须将字符串转换为字符列表,对其进行随机播放,然后再次加入结果。
import random
l = list(s)
random.shuffle(l)
result = ''.join(l)
答案 2 :(得分:1)
您可以使用more_itertools.random_permutation
from more_itertools import random_permutation
s = 'ABCDEFGHIJ'
''.join(random_permutation(s))
输出:
'DFJIEABGCH'
答案 3 :(得分:0)
<强> 1。外部库:python-string-utils
代码段
import string_utils
print string_utils.shuffle("random_string")
输出:
drorntmi_asng
<强> 2。 Builtins方法:random.shuffle
请找到下面的代码来洗牌。代码将获取字符串并将该字符串转换为列表。然后随机播放字符串内容并打印字符串。
import random
str_var = list("shuffle_this_string")
random.shuffle(str_var)
print ''.join(str_var)
输出:
t_suesnhgslfhitrfi_
第3。外部图书馆:Numpy
import numpy
str_var = list("shuffle_this_string")
numpy.random.shuffle(str_var)
print ''.join(str_var)
输出:
nfehirgsu_slftt_his