将新项目添加到列表?

时间:2019-12-12 21:24:36

标签: python list extend

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

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

1 个答案:

答案 0 :(得分:1)

每次运行matchList = []行时,matchList都会重置。在问题代码中,此初始化行似乎位于while True:循环内,这意味着每次迭代都会重置matchList,而不是通过.extend()函数在其上进行构建。可以通过将该行移到循环外来解决此问题:

matchList = []

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