Python 3.x 在Python中过滤出内部字典的值

Python 3.x 在Python中过滤出内部字典的值,python-3.x,Python 3.x,我有字典 dict={ {'dept': 'ECE', 'id': 1, 'name': 'asif', 'City': 'Bangalore'}, {'dept': 'ECE', 'id': 2, 'name': 'iqbal', 'City': 'Kolkata'} } 我想知道有没有什么方法可以根据城市筛选出姓名和部门 我试过了,但找不到任何出路。好的,如果我理解你的问题,并且从集合已转换为列表的事实来看,我认为类似的东西可能就是你想要的: data=[

我有字典

dict={
     {'dept': 'ECE', 'id': 1, 'name': 'asif', 'City': 'Bangalore'},
     {'dept': 'ECE', 'id': 2, 'name': 'iqbal', 'City': 'Kolkata'}
} 
我想知道有没有什么方法可以根据城市筛选出姓名和部门


我试过了,但找不到任何出路。

好的,如果我理解你的问题,并且从集合已转换为列表的事实来看,我认为类似的东西可能就是你想要的:

data=[
     {'dept': 'ECE', 'id': 1, 'name': 'asif', 'City': 'Bangalore'},
     {'dept': 'ECE', 'id': 2, 'name': 'iqbal', 'City': 'Kolkata'},
]

my_keys = ('name','dept',)
my_cities = ['Kolkata',]

my_dicts = [{key:value for key, value in dictionary.items() if key in my_keys} for dictionary in data if dictionary['City'] in my_cities]
print(my_dicts)

那不是口述,那是一套口述。这甚至可能不起作用,因为字典是不易损坏的。这在python中不起作用。只是试着剪贴。如果你把它做成一系列字典,我可以帮你。。请帮我解决这个问题。预期结果是什么?@alvarez。。。嗨,alvarez,我在尝试,如果我们能在id==1的时候从字典数组中过滤出值,就像这样。但在进一步尝试之后,我发现这是不可能的,因为字典是不可散列的。但我们可以把每一本字典分开,然后把它们隐藏到列表中