从字典列表中提取项

28 投票
5 回答
48765 浏览
提问于 2025-04-17 05:01

假设你有一个字典列表,像这样:

a = [ {'name':'pippo', 'age':'5'} , {'name':'pluto', 'age':'7'} ]

你想从这个列表中提取出名字为“pluto”的那个字典。为了让事情变得有点难,你不能使用任何导入的库。

5 个回答

4

在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续运行。

比如说,你可能希望程序在用户输入正确的密码后,才能打开某个文件。这种情况下,你就需要用到“条件语句”。条件语句就像是一个检查点,程序会在这里停下来,看看条件是否满足。如果满足,程序就会继续执行;如果不满足,程序可能会给出一个提示,告诉用户需要做些什么。

在编程中,常见的条件语句有“if语句”。它的工作原理是这样的:如果某个条件为真(也就是满足了),那么就执行某段代码;如果条件不为真,那么就可以选择执行另一段代码,或者什么都不做。

通过使用条件语句,程序可以根据不同的情况做出不同的反应,这样就能让程序更加灵活和智能。

>>> [d['age'] for d in a if d['name']=='pluto']
['7']
14

除了其他回答提到的列表推导式,你还可以用过滤器和一个叫做lambda的东西来实现:

filter(lambda x: x.get('name') == 'pluto',a)
41

列表推导式非常适合这个情况:

[d for d in a if d['name'] == 'pluto']

撰写回答