[英]How to remove key from dictionary? (asking user which one) Python
我想从字典中删除键,但是一个用户输入,我已经写了这段代码,但它给了我这个错误: for i in phoneNumbers.keys(): RuntimeError: dictionary changed size during iteration
phoneNumbers = {'John': '534-7887', 'Steven': '988-1187', "Max" : "765-2334", "Matt" : "987-1222"}
remove = input("Which key do you want to remove? ")
for i in phoneNumbers.keys():
if i == remove:
del phoneNumbers[remove]
print(phoneNumbers)
我知道这个是正确的,但为什么我不能在循环时删除它。
phoneNumbers = {'John': '534-7887', 'Steven': '988-1187', "Max" : "765-2334", "Matt" : "987-1222"}
remove = input("Which key do you want to remove? ")
del phoneNumbers[remove]
print(phoneNumbers)
由于错误消息建议避免迭代和更改相同object 的大小,它可能会增加副作用。 而是迭代一个浅拷贝
for i in phoneNumbers.copy():
if i == remove:
del phoneNumbers[remove]
print(phoneNumbers)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.