Python 是否向列表中添加新项目?

Python 是否向列表中添加新项目?,python,list,extend,Python,List,Extend,这已经得到了回答,我知道如何将项目添加到列表中,但由于某些原因,它无法正常工作 因此,有一个.dat文件包含5000首歌曲的列表,每首歌曲都有随机编号。我已经预先分配了随机数,我必须运行一个循环,找到10首左右数字相似的歌曲,并将它们放入列表中。我将列表的最大值设置为10 但是当我使用extend()时,它只添加扫描的最后一首歌。我不知道它为什么这样做 代码如下: while True: from time import sleep matchList = [] Song

这已经得到了回答,我知道如何将项目添加到列表中,但由于某些原因,它无法正常工作

因此,有一个.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

每次运行
matchList=[]
行时,都会重置
matchList
。在问题代码中,这一初始化行似乎位于
循环中,而True:
循环中,这意味着每次迭代都会重置
匹配列表,而不是通过
.extend()
函数建立它。这可以通过将该线移到回路外来解决:

matchList = []

while True:
    from time import sleep
    ...
    ...

因为你在循环中创建了列表?SongAttributes是什么类型的?就是这样。非常感谢。