【问题标题】:How to loop through an entire list randomly before looping again?如何在再次循环之前随机循环整个列表?
【发布时间】:2018-12-10 21:42:59
【问题描述】:
import random
list1 = [11, 22, 33, 44, 55]
for i in range(5):
   random_number = random.randint(0,4)
   print(list1[random_number])

我正在尝试找到一种方法来随机打印整个列表,而不在第一个循环中打印列表的副本。然后,如果我将范围增加到 10、15、20 等,每 5 次打印随机显示所有元素并且没有重复(重复我的意思是每组 5 次显示的打印没有重复),即 22、33、11, 55、44、44、11、33、22、55、33、22、55、44、11 ...

【问题讨论】:

标签: python random


【解决方案1】:

您可以制作列表的副本,然后从副本中弹出元素直到它为空,然后通过再次复制原始列表来“重新加载”它

import random
list1 = [11, 22, 33, 44, 55]
clonedList = list1.copy()
for i in range(5):
   if len(clonedList == 0):
       clonedList = list1.copy()
   random_number = random.randint(0,len(clonedList)-1)
   print(clonedList.pop(random_number))

【讨论】:

    猜你喜欢
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2015-09-03
    相关资源
    最近更新 更多