随机选择列表中的两个元素

时间:2014-03-18 11:40:21

标签: python random

有没有更好的方法从列表中选择两个不同的元素?

foo = ['1','a','3','f','ed']

elt1 = random.choice(foo)
elt2 = random.choice(foo)

while elt2 == elt1:
    elt2 = random.choice(foo)

2 个答案:

答案 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)