已经回答了这个问题,我知道如何将项目添加到列表中,但是由于某些原因,它无法正常工作。
因此,有一个.dat文件,其中列出了5000首歌曲,每首歌曲均分配有随机数。我已经预先分配了随机数,我必须运行一个循环,查找10个左右具有相似数字的歌曲,并将它们放入列表中。我最多为列表设置10个。
但是当我使用extend()时,它只会添加最后扫描的歌曲。我不知道为什么要这么做。
代码如下:
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
答案 0 :(得分:1)
每次运行matchList = []
行时,matchList
都会重置。在问题代码中,此初始化行似乎位于while True:
循环内,这意味着每次迭代都会重置matchList
,而不是通过.extend()
函数在其上进行构建。可以通过将该行移到循环外来解决此问题:
matchList = []
while True:
from time import sleep
...
...