python - 为什么我的旧列表会更改,即使两者的 ID 不同?
问题描述
我不明白为什么我的“旧”列表会发生变化,即使它们不共享相同的 ID。我一直没能找到,当我调试时,我看到旧的列表发生了变化,但找不到解决这个问题的方法。发现用切片创建一个新列表应该会改变两者的ID,但是唉,我来了。
实际使用旧列表的代码的唯一部分是当我使用时.format.(old[i])
,感谢任何帮助。
menu = [
["egg", "bacon"],
["egg", "sausage", "bacon"],
["egg", "spam"],
["egg", "bacon", "spam"],
["egg", "bacon", "sausage", "spam"],
["spam", "bacon", "sausage", "spam"],
["spam", "sausage", "spam", "bacon", "spam", "tomato", "spam"],
["spam", "egg", "spam", "spam", "bacon", "spam"],
]
old = list(menu)
for i in range(len(menu))[::-1]:
if "spam" in menu[i]:
for k in range(len(menu[i]))[::-1]:
if "spam" == menu[i][k]:
del menu[i][k:k+1]
for i, meal in enumerate(menu):
print("-"*80)
print("{} contains, without spam:\n".format(old[i]))
for part in meal:
print(part)
else:
print("-"*80)
对 Python 大师班和 Monty Python 的小声大喊……
解决方案
推荐阅读
- android - 是否可以使用 create-react-native-app 获得 android 制作应用程序的权限?
- javascript - 在summernote编辑器中用插入替换选定的文本
- sql - 如何存储大量日历日期
- azure-iot-hub - Azure IoT Hub 连续两天被封锁,不让我更改为付费层
- java - Scala基本的for循环被跳过并且没有进入循环执行
- visual-studio - 转换 JMeter 脚本以供 Visual Studio 使用(本地托管)
- css - 除非复制并粘贴回浏览器样式编辑器,否则 VueJS 编译的应用程序 css 不起作用
- ubuntu - Vmware无法安装Ubuntu Desktop,但是winxp正常
- android - 计算器包中的 Android 不匹配(模拟器与真实设备)
- python - 如何将两个列表与手动分配的键的值组合成字典