首页 > 解决方案 > 即使使用 for 循环尝试删除它们,值仍然保留在我的列表中

问题描述

我在字典中有一个列表,我试图删除列表中的所有项目,但即使在我使用 for 循环删除所有内容后,偶数仍然存在。

queue=[{123:['s1','s2','s3','s4']},{1234:['s1','s2','s3','s4']}]
print('BEFORE:',queue)
for item in queue:
  for server,songs in item.items():
    if server==123:
        for sonk in songs:
          songs.remove(sonk)

print('AFTER:',queue)

我的输出是:

BEFORE: [{123: ['s1', 's2', 's3', 's4']}, {1234: ['s1', 's2', 's3', 's5']}]
AFTER: [{123: ['s2', 's4']}, {1234: ['s1', 's2', 's3', 's5']}]

任何人都可以请解释什么是错的?

标签: python

解决方案


推荐阅读