在说了y=[示例]之后,我使用list.remove(y)python不';i don’我不记得我给y分配了什么
在while循环中,我将y指定给列表中的一个随机值在说了y=[示例]之后,我使用list.remove(y)python不';i don’我不记得我给y分配了什么,python,Python,在while循环中,我将y指定给列表中的一个随机值 y=[随机选择(列表)] 之后,我需要从列表中删除y: 列表。删除(y) 但它给出:ValueError:列表。删除(x):x不在列表中。 如果我从列表中写一个单词而不是y,它显然是有效的 整个while循环是(这将返回随机选择的歌曲列表,所有歌曲都使用一次): y是一个包含一个元素的列表,其中包含要删除的内容: def playRandomized(songList): x = [] while len(songList)&g
y=[随机选择(列表)]
之后,我需要从列表中删除y:
列表。删除(y)
但它给出:ValueError:列表。删除(x):x不在列表中
。
如果我从列表中写一个单词而不是y,它显然是有效的
整个while循环是(这将返回随机选择的歌曲列表,所有歌曲都使用一次):
y
是一个包含一个元素的列表,其中包含要删除的内容:
def playRandomized(songList):
x = []
while len(songList)>0:
y = random.choice(songList)
x.append(y)
songList.remove(y)
return x
由于您希望以随机顺序添加歌曲列表
的每个元素,因此只需使用shuffle
:
def playRandomized(songs):
random.shuffle(songs)
return songs
random.choice
返回列表项。因此,您可以像下面这样重构代码
item = random.choice(lst)
lst.remove(item)
变量
q
的作用是什么?为什么所有内容都包含在一个列表中?问题是y是一个列表而不是元素您的错误代码显示删除x而不是y
item = random.choice(lst)
lst.remove(item)