[英]I am trying to get both keys from a list of dictionaries
我试图在找到密钥时打印出一条消息,以及另一个密钥的相应值。 这是我到目前为止所拥有的
l = [{'a': "dog", 'b': "black"}, {'a': "cat", 'b': "yellow"}, {'a': "bird", 'b': "blue"}]
def search(name, value):
for k in list:
if k['brand'] == name:
print("The dog was found with color" + str(k['age'] == value))
search('dog','')
我正在尝试将 output 做到这一点
The dog was found and the color is black.
l = [{'a': "dog", 'b': "black"}, {'a': "cat", 'b': "yellow"}, {'a': "bird", 'b': "blue"}]
def search_dict(l, name, key='b'):
for dic in l:
if name in dic.values():
print(f"{name} was found with color {dic[key]}")
search_dict(l, 'dog')
>>> dog was found with color black
那么这里会发生什么:
l
)key='b'
。 如果name
在字典的值之一中,则它会根据key='b'
打印以给定颜色找到的那个。None
,它只打印找到的内容。为什么要输入键:
l = [{'animal': 'dog', 'color':'brown'}, {'animal': 'dog', 'color':'red'},{'animal': 'cat', 'color':'brown'}]
search_dict(l, name='dog', key='color')
>>> dog was found with color brown
>>> dog was found with color red
如果您想检查是否存在同时包含“动物”和“颜色”的条目,我认为这段代码应该可以工作:
l = [{'a': "dog", 'b': "black"}, {'a': "cat", 'b': "yellow"}, {'a': "bird", 'b': "blue"}]
def search(animal, color):
for k in l:
if k['a'] == animal and k['b'] == color:
print("The {a} was found with color {b}".format(**k))
search('dog', 'black')
给你:
The dog was found with color black
您只需要循环浏览列表并检查“a”和“b”的条目是否符合要求。
就我个人而言,我会使用不同的名称,而不仅仅是“a”和“b”,例如:
l = [{'animal': "dog", 'color': "black"}, {'animal': "cat", 'color': "yellow"}, {'animal': "bird", 'color': "blue"}]
但这取决于您的要求...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.