有没有更好的方法从列表中选择两个不同的元素?
foo = ['1','a','3','f','ed']
elt1 = random.choice(foo)
elt2 = random.choice(foo)
while elt2 == elt1:
elt2 = random.choice(foo)
答案 0 :(得分:4)
是的,请使用random.sample()
:
elt1, elt2 = random.sample(foo, 2)
random.sample()
将随机选择来自特定人群的k
个唯一元素:
返回从 population 序列中选择的唯一元素的 k 长度列表。用于无需替换的随机抽样。
答案 1 :(得分:0)
import random
random.sample(set([1, 2, 3, 4, 5, 6]), 2)