如何从字典中删除从列表中获得的项

  • 本文关键字:删除 字典 列表 python
  • 更新时间 :
  • 英文 :


所以我试着用Python写一个代码作为我的作业,我从用户那里得到一个列表和字典,并从字典中删除列表中的项。

import ast
a= input("Please enter a dictionary: ")
sample_list=ast.literal_eval(a)
n=list((input().split(",")))
def myFunc(sample_list,keys):
y=0
for x in list(sample_list):
if sample_list[x]==n[y]:
del sample_list[x]
y +=1
myFunc(sample_list,n)
print(sample_list)

代码没有给我任何错误,但也从来没有擦除。

我不知道该怎么办。如能得到任何帮助,我将不胜感激

你的Python代码有缩进错误。我假设这就是你的意思:

import ast
a = input("Please enter a dictionary: ")
sample_list = ast.literal_eval(a)
n = list((input().split(",")))
def myFunc(sample_list,keys):
y=0
for x in list(sample_list):
if sample_list[x]==n[y]:
del sample_list[x]
y +=1
myFunc(sample_list,n)
print(sample_list)

在Python中,缩进用于表示作用域何时结束,所以它的正确是很重要的。注意for循环是如何在与y=0相同的缩进级别开始的,这与问题中不同。

我不清楚你的意思是y应该做什么。如果您想要删除字典中同时存在于列表中的所有键,您可以这样做:

import ast
a = input("Please enter a dictionary: ")
sample_list = ast.literal_eval(a)
n = list((input().split(",")))
def myFunc(input_dict, keys_to_remove):
# Loop over all the keys the user named
for key in keys_to_remove:
try:
# Try to remove it. If it does not exist, a KeyError
# will happen, which we catch.
del input_dict[key]
except KeyError:
# KeyErrors are fine; just ignore them and move on.
continue
myFunc(sample_list,n)
print(sample_list)

相关内容

  • 没有找到相关文章

最新更新