如何从字典列表中删除字典?我试过了:
if data == []:
print("No questions saved")
else:
while True:
myDeletenumber = input("Which question do you want to delete?")
try:
myDeletenumber = int(myDeletenumber)
myDeletenumber -= 1
data.pop(myDeletenumber)
break
except ValueError:
print('Not a number!')
continue
在这种情况下,data
是词典列表
答案 0 :(得分:1)
更简单的方法可能是使用del data[myDeleteNumber]
答案 1 :(得分:1)
作为替代方案,如果您的数据结构很大,您可以考虑分配None而不是从中间弹出。
myDeletenumber = input("Which question do you want to delete?")
try:
myDeletenumber = int(myDeletenumber)
myDeletenumber -= 1
data[myDeletenumber] = None
break # <-- we'll assume that this snippet is inside a loop here...
except ValueError:
print('Not a number!')
continue
这会阻止放置在已删除元素之后的整个元素的副本,并避免更改元素所在的索引(这似乎是用户在当前情况下需要操作数据的重要知识)< / p>
答案 2 :(得分:0)
它是data.pop(myDeletenumber)
,带括号,而不是方括号。
答案 3 :(得分:0)
没有办法做到这一点,采取良好的方法
myDeletenumber = input("Which question do you want to delete?")
try:
del data[int(myDeletenumber)-1]
except KeyError:
print ('No number exist')
你可以试试这个:
try:
data.pop(int(myDeletenumber)-1)
except KeyError:
print ('No number exist')