Python 是否向列表中添加新项目?
这已经得到了回答,我知道如何将项目添加到列表中,但由于某些原因,它无法正常工作 因此,有一个.dat文件包含5000首歌曲的列表,每首歌曲都有随机编号。我已经预先分配了随机数,我必须运行一个循环,找到10首左右数字相似的歌曲,并将它们放入列表中。我将列表的最大值设置为10 但是当我使用extend()时,它只添加扫描的最后一首歌。我不知道它为什么这样做 代码如下:Python 是否向列表中添加新项目?,python,list,extend,Python,List,Extend,这已经得到了回答,我知道如何将项目添加到列表中,但由于某些原因,它无法正常工作 因此,有一个.dat文件包含5000首歌曲的列表,每首歌曲都有随机编号。我已经预先分配了随机数,我必须运行一个循环,找到10首左右数字相似的歌曲,并将它们放入列表中。我将列表的最大值设置为10 但是当我使用extend()时,它只添加扫描的最后一首歌。我不知道它为什么这样做 代码如下: while True: from time import sleep matchList = [] Song
while True:
from time import sleep
matchList = []
SongAttributes = myMusic.getSongAttributes(num)
print(SongAttributes)
num += 1
sleep(0)
if set(likedAttributes) & set(SongAttributes):
matchList.extend(SongAttributes)
count += 1
if count > 10:
print('List:')
print(matchList)
break
每次运行
matchList=[]
行时,都会重置matchList
。在问题代码中,这一初始化行似乎位于循环中,而True:
循环中,这意味着每次迭代都会重置匹配列表,而不是通过.extend()
函数建立它。这可以通过将该线移到回路外来解决:
matchList = []
while True:
from time import sleep
...
...
因为你在循环中创建了列表?SongAttributes是什么类型的?就是这样。非常感谢。