根据列表给出的值从字典中获取值

时间:2019-07-17 11:45:18

标签: python

我有一本字典,即:

Dict = {[A: Aardvark, Number: 1], [B: Badger, Number: 2], [C: Cat, Number: 3], [D: Deer, Number: 2]}

,并希望用户输入数字列表。

我希望代码然后通过字典,仅拉出具有这些数字的动物

因此,如果用户输入2,3,则代码将返回

[B: Badger, Number: 2], [C: Cat, Number: 3] and [D: Deer, Number: 2]

我对python还是很陌生,即使在google上进行了几次搜索(也可能没有搜索正确的东西)后,也无法弄清楚从哪里开始。

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

像这样使用列表推导,input函数和in运算符:

animals = [
    {'name': 'aadvark', 'value': 1}, 
    {'name': 'badger', 'value': 2}, 
    {'name': 'cat', 'value': 3}
]

user_input = input('type in the values?')
values = [int(n) for n in user_input.split(',')]

filtered = [it for it in animals if it['value'] in values]
print(filtered)

输出:

type in the values? 2, 3

[{'name': 'badger', 'value': 2}, {'name': 'cat', 'value': 3}]