在PHP中我经常使用array_column()函数,因为它允许我从一个数组内的特定列中检索值,这些数组在一个很好的数组中返回,例如,使用这个数组:
$users = [
[
'id' => 1,
'name' => 'Peter'
],
[
'id' => 2,
'name' => 'Paul'
],
[
'id' => 3,
'name' => 'John'
]
];
执行array_column($users, 'name')
将返回:
Array
(
[0] => Peter
[1] => Paul
[2] => John
)
自从转换到Python后,我仍然没有找到一个内置函数,我可以用list
dict
来做同样的事情。
这样的功能是否存在,如果不存在,实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
您可以使用列表推导来提取感兴趣的“列”。据我所知,没有直接的Python函数。列表推导几乎总是比使用first = 0 if pointer1 is None else pointer1.data
更快。 Python List Comprehension Vs. Map
map
或使用枚举索引位置而不是users = [
{
'id': 1,
'name': 'Peter'
},
{
'id': 2,
'name': 'Paul'
},
{
'id': 3,
'name': 'John'
}
]
>>> [(user.get('id'), user.get('name')) for user in users]
[(1, 'Peter'), (2, 'Paul'), (3, 'John')]
字段:
id
或只是名字......
>>> [(n, user.get('name')) for n, user in enumerate(users)]
[(0, 'Peter'), (1, 'Paul'), (2, 'John')]
答案 1 :(得分:1)
这样的东西?
+