Python - 以非线性方式运行循环

2024-01-07

所以, 我正在寻找一种以 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - 以非线性方式运行循环 的相关文章

随机推荐