obe*_*aum 4 python for-loop list
所以,我正在寻找一种以循环方式循环遍历项目列表的方法,除了我希望循环以"随机"方式迭代.即我不希望循环进入0,1,2,3,m + 1 ... n,我希望它以一些随机顺序选择它并仍然运行所有项目的循环.
这是我目前的循环代码:
for singleSelectedItem in listOfItems:
item = singleSelectedItem.databaseitem
logging.info(str(item))
Run Code Online (Sandbox Code Playgroud)
如果这没有意义,请告诉我;)
如果listOfItems可以改组,那么
import random
random.shuffle(listOfItems)
for singleSelectedItem in listOfItems:
blahblah
Run Code Online (Sandbox Code Playgroud)
除此以外
import random
randomRange = range(len(listOfItems))
random.shuffle(randomRange)
for i in randomRange:
singleSelectedItem = listOfItems[i]
blahblah
Run Code Online (Sandbox Code Playgroud)
编辑Jochen Ritzel在评论中的更好方法.
否则部分可以
import random
for item in random.sample(listOfItems, len(listOfItems))
blahblah
Run Code Online (Sandbox Code Playgroud)