在说y=[example]之后,我使用list.remove(y) python不记得我给y分配了什么



在 while 循环中,我将 y 分配给列表中的随机值

y=[random.choice(list)]

之后我需要从列表中删除 y:list.remove(y)但它给出:值错误:list.remove(x): x not in list。 如果我从列表中写一个单词而不是 y,它显然确实有效。

整个 while 循环是(这应该返回随机选择的歌曲列表,全部使用一次(:

def playRandomized(songList):
x=[]
while len(songList)>0:
y=[random.choice(songList)]
x=x+y
q=[songList.remove(y)]
q=[songList]
return x
print (playRandomized(list))

random.choice返回一个列表项。 因此,您可以像下面这样重构代码。

item = random.choice(lst)
lst.remove(item)
y

是一个列表,其中包含一个元素,即要删除的内容:

def playRandomized(songList):
x = []
while len(songList)>0:
y = random.choice(songList)
x.append(y)
songList.remove(y)
return x

由于您想以随机顺序添加songList的每个元素,因此您可以使用shuffle

def playRandomized(songs):
random.shuffle(songs)
return songs

最新更新