我们说我有以下词典列表:
[
{
"id": 1,
"name": "string 1"
},
{
"id": 2,
"name": "string 2"
},
{
"id": 3,
"name": "string 3"
},
{
"id": 4,
"name": "string 4"
}
]
有没有办法可以根据"id"
{"id": 4, "name": "string 4"}
检索第一个字典"name"
的{{1}}?
答案 0 :(得分:4)
这应该可行,它遍历字典列表以查找名称与目标相等并打印出其id的字典
for dictionary in list:
if dictionary["name"] == target:
print (dictionary["id"])
答案 1 :(得分:1)
简单的列表理解可以解决这个问题:
a=[
{
"id": 1,
"name": "string 1"
},
{
"id": 2,
"name": "string 2"
},
{
"id": 3,
"name": "string 3"
},
{
"id": 4,
"name": "string 4"
}
]
result = [ x for x in a if x["name"] == "string 1" ]
如果您只想要与搜索字符串匹配的ID列表,则可以使用result = [ x["id"] for x in a if x["name"] == "string 1" ]
。
答案 2 :(得分:0)
您的问题的一行代码。
output = [ value["id"] for value in a if value["name"] == "string 1" ]
这将返回名称中等于字符串1的所有id的列表。