【发布时间】:2013-12-28 04:49:56
【问题描述】:
从列表创建字典时,我使用
for i in range(10):
random.shuffle(list)
print "".join(list)
这样我得到列表的 10 个不同的随机组合,但如果列表有 10 个字符串,我得到的每个随机数将有 10 个字符串,如下所示:
>>> list
['1', 'n', 'f', 'g', 'z', 'j', '5', 's', '2', '3']
>>> for i in range(5):
... random.shuffle(list)
... print "".join(list)
...
13jgzs25nf
15zngs2jf3
jgfsn3z251
g3sf512zjn
5nsj3fg21z
但是,我只想从列表中的 10 个字符串中的 5 个编译随机组合,我该怎么做?
ty!
===========================
@volatility
in an attempt to use what you showed me but try to get a full list like i did in my question i did this:
>>> lst=["1","2","3","f","s","g","5","n","z","j"]
>>> for i in range(10):
... random.sample(list, 3)
... print "".join(list)
...
['5', '2', 'n']
gj5nfs231z
['n', '5', '1']
gj5nfs231z
['z', '3', 'j']
gj5nfs231z
['5', 'g', 'n']
gj5nfs231z
['g', 'z', '2']
gj5nfs231z
['2', '3', 'f']
gj5nfs231z
['g', '2', '5']
gj5nfs231z
['3', 'n', '2']
gj5nfs231z
['g', 'z', '2']
gj5nfs231z
['n', 's', 'g']
gj5nfs231z
我猜这是进步?我最终想要得到的是一个看起来像这样的输入(如果我使用上面的列表)
52n
z3j
5gn
23f
g25
3n2
gz2
nsg
这样可行吗?
【问题讨论】:
-
您将 Volatility 的功能与 falsetru 的调用模式混合在一起,这将不起作用,因为
sample不是就地,但shuffle是。
标签: python random dictionary shuffle