gpt4 book ai didi

Python:使用lambda获取列表中的项目,其中dict键是某个值

转载 作者:太空狗 更新时间:2023-10-29 22:04:51 25 4
gpt4 key购买 nike

是否可以使用 lambda 获取?我知道我们可以使用 lambda 执行 sorted 函数,它非常有用。

是否有一种简短的方法来获取列表中的对象,其中键 'id' 处的对象等于 20

我们当然可以在整个过程中使用循环和循环。

x = [
{'Car': 'Honda', 'id': 12},
{'Car': 'Mazda', 'id': 45},
{'Car': 'Toyota', 'id': 20}
]

desired_val = None
for item in list:
if item['id'] == 20:
desired_val = item
break

是否可以使用 lambda 实现相同的功能?我对 lambda 不是很了解。

最佳答案

这里没有必要使用lambda。 Lambda 并不是什么神奇的东西,它只是编写简单函数的简写。与编写函数的普通方法相比,它不如强大,而不是更多。 (这并不是说它有时不是很方便,只是它没有超能力。)

无论如何,您可以使用带有默认参数的生成器表达式。请注意,我在这里返回对象本身,而不是 20,因为这对我来说更有意义。

>>> somelist = [{"id": 10, "x": 1}, {"id": 20, "y": 2}, {"id": 30, "z": 3}]
>>> desired_val = next((item for item in somelist if item['id'] == 20), None)
>>> print(desired_val)
{'y': 2, 'id': 20}
>>> desired_val = next((item for item in somelist if item['id'] == 21), None)
>>> print(desired_val)
None

关于Python:使用lambda获取列表中的项目,其中dict键是某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24477709/

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