rit*_*att 2 python list-comprehension
我试图通过从另一个列表中选择随机元素来建立一个列表,没有重复.想想洗牌一副牌.我显然可以为此编写一些unpythonic代码,我不想这样做.
所以这就是我想要做的:
new = [deck[i] where 0<(i = some_rand_int)<51 if new.count(deck[i]) == 0]
有没有办法做到这一点?
Mar*_*ers 15
我试图通过从另一个列表中选择随机元素来建立一个列表,没有重复.
random.sample(population,k)
返回从总体序列中选择的独特元素的长度列表.用于无需更换的随机抽样.
试试这个:
result = random.sample(deck, n)
Run Code Online (Sandbox Code Playgroud)
要改组整个列表,请使用random.shuffle:
random.shuffle(deck)
Run Code Online (Sandbox Code Playgroud)
仍然很好奇,如果这可以使用列表理解完成!
并不是的.列表comphrension保留元素的顺序,但允许您投影或过滤它们.改组不是投影或过滤器.