gpt4 book ai didi

php - Python 等效于 PHP array_column

转载 作者:行者123 更新时间:2023-11-28 22:25:37 43 4
gpt4 key购买 nike

在 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 之后,我仍然没有找到一个内置函数,我可以用它在 dictlist 上做同样的事情。

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

最佳答案

您可以使用列表理解来提取感兴趣的“列”。据我所知,没有直接的 Python 函数。列表理解几乎总是比使用 map 更快。 Python List Comprehension Vs. 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')]

或者只是名字...

>>> [user.get('name') for user in users]
['Peter', 'Paul', 'John']

关于php - Python 等效于 PHP array_column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45442504/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com