从字典中获取id列表的python方法

2024-10-01 07:29:05 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下数据结构

theValues = [
  { "id": "123", "name": "foo" },
  { "id": "321", "name": "bar" },
  { "id": "231", "name": "baz" }
]

获得id列表的最好pythonist方法是什么?在

如果这是javascript,我可能只会使用一个匿名函数对列表中的每个元素使用filter,但是我似乎找不到一个Python等价物。我知道我可以做以下事情:

^{pr2}$

最后,我想将字典列表缩减为逗号分隔的列表,我想我可以用一个join。。。虽然那个语法在我看来还是很奇怪。有更好的方法吗?在

myListIds = ",".join( myList )

这是最常见的方法吗?在PHP中,我可以执行以下操作:

$myListIds = implode(",", array_map( values, function( v ) { return v["ID"]; } ));

Tags: 方法函数nameid元素数据结构列表foo
2条回答

还有一种方法可以使用Python进行映射,请参见下面的示例。在

values = [
  { "id": "123", "name": "foo" },
  { "id": "321", "name": "bar" },
  { "id": "231", "name": "baz" }
]

my_list = map(lambda x: x["id"], values)

print(my_list)

输出:

^{pr2}$

关于逗号分隔列表,如果您想要一个字符串,可以使用join来获得它:

print(", ".join(my_list))

如果你想用一行代码来完成,下面是你应该怎么做:

print(", ".join(map(lambda x: x["id"], values)))

输出:

123, 321, 231
values = [
  { "id": "123", "name": "foo" },
  { "id": "321", "name": "bar" },
  { "id": "231", "name": "baz" }
]
ids = [val['id'] for val in values]
print(ids)

基于这个answer

相关问题 更多 >