Python 如何在迭代过程中从列表中随机选择,同时至少选择列表中的每个成员一次?

Python 如何在迭代过程中从列表中随机选择,同时至少选择列表中的每个成员一次?,python,random,Python,Random,我希望我的代码在长度为3的列表上迭代四次(或可能更大),同时至少访问列表上的每个数字一次 for i in range(4): rand_selection = random.choice([1, 0, -1]) print(rand_selection) 在上面的代码中,它有可能不会选择列表中的每一项。 例如,如果随机选择1 0 1,它可能不会打印-1,即使打印一次 感谢您的建议和帮助。此解决方案感觉像是一个骗局,但是 import random lis =

我希望我的代码在长度为3的列表上迭代四次(或可能更大),同时至少访问列表上的每个数字一次

for i in range(4):
        rand_selection = random.choice([1, 0, -1])
        print(rand_selection)
在上面的代码中,它有可能不会选择列表中的每一项。 例如,如果随机选择1 0 1,它可能不会打印-1,即使打印一次


感谢您的建议和帮助。

此解决方案感觉像是一个骗局,但是

import random

lis = [1, 0, -1]
random.shuffle(lis)
print(lis+[random.choice(lis)])
返回一个包含4个数字的列表,可以指定为4个选项