给出4个项目的列表。 我需要迭代地从列表中删除一个项目。 在每次迭代中,我需要显示: -删除了什么 -新列表
我正在尝试:
import random
teams=["Tottenham", "Ajax", "Barcelona", "Liverpool"]
for i in teams:
t1=random.randint(0, len(teams)-1)
print(teams[t1])
teams.remove(teams[t1])
print(teams)
我得到这个:
Ajax
[“热刺”,“巴塞罗那”,“利物浦”]
利物浦
[“热刺”,“巴塞罗那”
但是应该得到以下内容:
Ajax
[“热刺”,“巴塞罗那”,“利物浦”]
利物浦
[“热刺”,“巴塞罗那”
热刺
['巴塞罗那']
答案 0 :(得分:-1)
您可以先shuffle
列表,然后对其进行遍历:
import random
teams = ["Tottenham", "Ajax", "Barcelona", "Liverpool"]
random.shuffle(teams)
while teams:
print(teams.pop())
print(teams)
Liverpool
['Ajax', 'Tottenham', 'Barcelona']
Barcelona
['Ajax', 'Tottenham']
Tottenham
['Ajax']
Ajax
[]
先随机播放可降低循环的复杂度。它可能并非在所有情况下都适用,但这是一个选择。