我想在整个程序中多次打印同一列表中的随机字符串,但不重复任何先前打印的随机字符串。
如果我满足以下条件:
core = 'a', 'b', 'c', 'd'
print (random.sample(core[0:], k=2))
print (random.sample(core[0:], k=2))
我希望结果看起来像这样:
b, d
c, a
答案 0 :(得分:6)
random.sample
本身无需替换即可工作,因此没有重复的情况。获取4的样本并切片:
randoms = random.sample(core, 4)
print(randoms[:2])
print(randoms[2:])
答案 1 :(得分:1)
您可以使用shuffle()
中的random
。然后使用切片提取必要的元素。
import random
initial = 'a', 'b', 'c', 'd'
l = list(initial)
random.shuffle(l)
print (l[:2])
print (l[2:])
输出:
['a', 'c']
['b', 'd']