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

tea*_*eef 2 python random

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

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

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

while elt2 == elt1:
    elt2 = random.choice(foo)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

是的,使用random.sample()

elt1, elt2 = random.sample(foo, 2)
Run Code Online (Sandbox Code Playgroud)

random.sample()k将从给定总体中随机选择独特的元素:

返回从总体序列中选择的k长度的唯一元素列表。用于无放回随机抽样。