You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用一行代码提取类对象列表中相同属性值生成新列表

一行代码提取类对象列表的指定属性值

问题场景

现有类对象列表示例如下:

child1 = Child(Name = 'Max', height = 5.1, weight = 100)
child2 = Child(Name = 'Mimi', height = 4.1, weight = 80)
my_object_list = [child1, child2]

需要用一行代码生成包含每个对象同一属性值的新列表,期望结果为:

my_new_list = ['Max', 'Mimi']

解决方案

直接提取固定属性

使用Python的列表推导式,一行即可完成需求:

my_new_list = [child.Name for child in my_object_list]

动态指定属性(更灵活)

如果需要动态切换要提取的属性(比如不确定是Name还是height),可以结合getattr()函数实现:

target_attr = 'Name'  # 可动态替换为其他属性名,如'height'
my_new_list = [getattr(child, target_attr) for child in my_object_list]

说明

列表推导式是Python中替代简单for循环生成列表的简洁写法,既满足一行代码的要求,又保持了代码可读性。getattr()则让属性提取更灵活,适配需要动态指定属性的场景。

内容的提问来源于stack exchange,提问作者Merithor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:25:17