This question already has answers here:
Getting a list of values from a list of dicts
(9 个回答)
2年前关闭。
假设我有以下数据结构
获取 ID
如果这是 javascript,我可能只使用匿名函数对列表中的每个元素使用过滤器,但我似乎找不到 Python 等效项。我知道我可以做到以下几点:
最终,我想将字典列表减少到一个逗号分隔的列表,我想我可以用连接来做……尽管这种语法对我来说仍然很奇怪。有没有更好的办法?
这是最常见的做法吗?在 PHP 中,我可以执行以下操作:
基于这个 answer
(9 个回答)
2年前关闭。
假设我有以下数据结构
theValues = [
{ "id": "123", "name": "foo" },
{ "id": "321", "name": "bar" },
{ "id": "231", "name": "baz" }
]
获取 ID
[123,321,231]
列表的最佳 Pythonistic 方法是什么?如果这是 javascript,我可能只使用匿名函数对列表中的每个元素使用过滤器,但我似乎找不到 Python 等效项。我知道我可以做到以下几点:
myList = []
for v in theValues: myList.append(v["id"])
最终,我想将字典列表减少到一个逗号分隔的列表,我想我可以用连接来做……尽管这种语法对我来说仍然很奇怪。有没有更好的办法?
myListIds = ",".join( myList )
这是最常见的做法吗?在 PHP 中,我可以执行以下操作:
$myListIds = implode(",", array_map( values, function( v ) { return v["ID"]; } ));
最佳答案
values = [
{ "id": "123", "name": "foo" },
{ "id": "321", "name": "bar" },
{ "id": "231", "name": "baz" }
]
ids = [val['id'] for val in values]
print(ids)
基于这个 answer