python - 如果满足条件,则从列表中返回名称
问题描述
我有一个包含姓名、年龄和性别的人员列表,我希望能够从中提取出符合条件的人的姓名(>= 18)
people = [('John', 36, 'M'), ('Rachel', 24, 'F'), ('Deardrie', 78, 'F'), ('Ahmed', 17, 'M'), ('Sienna', 14, 'F')]
我已经尝试了以下但没有返回我需要的三个名字(约翰、瑞秋和迪德丽)
def adults(members):
for person in people:
if person[1] >= 18:
return members
认为我遗漏了一些明显的东西,但看不到它是什么!
非常感谢
解决方案
您的代码不起作用,因为您要返回成员,这是参数。(我不知道为什么你首先有一个参数)。你可以做这样的事情。
adults = [member for member in people if member[1] >= 18]
或者如果您在函数中使用它:
def adults(people):
return [member for member in people if member[1] >= 18]
推荐阅读
- android - Android 通过 uri 访问文件的结果与 SecurityExcepption
- php - Angular 发布到 PHP
- python - Python:将一些参数传递给函数参数
- angular - PrimeNG PIE 图表值未显示在 Slice 上 - 如何在默认加载时显示值而不是将鼠标悬停在
- excel - Excel VBA 用于将单元格中的超链接公式链接到宏
- python - Python模式或()
- html - 在 Safari (Mac) 上仅同时播放一个视频
- django - Django在多对多字段中的反向关系
- flutter - 由于上述问题,无法构建插件 shared_preferences
- android - 如何让以下外键在firebase中工作