Python相当于PHP array_column

时间:2017-08-01 15:56:59

标签: php python arrays

在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来做同样的事情。

这样的功能是否存在,如果不存在,实现这一目标的最佳方法是什么?

2 个答案:

答案 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)

这样的东西?

+