所以, 我正在寻找一种以 for 循环方式遍历项目列表的方法,但我希望循环以“随机”方式迭代。即我不希望循环进入 0,1,2,3,m+1...n,我希望它以某种随机顺序选择它并且仍然运行所有项目的循环。
这是我当前的循环代码:
for singleSelectedItem in listOfItems:
item = singleSelectedItem.databaseitem
logging.info(str(item))
如果这没有意义,请告诉我;)
最佳答案
如果 listOfItems 可以被洗牌,那么
import random
random.shuffle(listOfItems)
for singleSelectedItem in listOfItems:
blahblah
否则
import random
randomRange = range(len(listOfItems))
random.shuffle(randomRange)
for i in randomRange:
singleSelectedItem = listOfItems[i]
blahblah
在评论中编辑 Jochen Ritzel 的更好方法。
否则部分可以是
import random
for item in random.sample(listOfItems, len(listOfItems))
blahblah
关于Python - 以非线性方式运行一个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403607/