如何在python列表中获取对象的选定属性?

如何在python列表中获取对象的选定属性?,python,list,list-comprehension,python-2.x,Python,List,List Comprehension,Python 2.x,如何使用python中对象的选定属性创建列表?使用列表理解 例如: 我的目标是 A.name A.age A.height 还有更多的属性 如何创建列表[姓名、年龄] 我可以手动操作,但看起来很难看: l=[] l.append(A.name) l.append(A.age) 但是我在寻找一条捷径。你要找的是 你要找的是 为什么不干脆[A.name,A.age]列表文字很简单,虽然它在获取多个属性时返回元组s,而不是列表s,所以如果你不能接受它,你就必须转换。为什么不干脆[A.name,A.

如何使用python中对象的选定属性创建列表?使用列表理解

例如:

我的目标是

A.name
A.age
A.height
还有更多的属性

如何创建列表
[姓名、年龄]

我可以手动操作,但看起来很难看:

l=[]
l.append(A.name)
l.append(A.age)

但是我在寻找一条捷径。

你要找的是


你要找的是


为什么不干脆
[A.name,A.age]
<代码>列表文字很简单,虽然它在获取多个属性时返回
元组
s,而不是
列表
s,所以如果你不能接受它,你就必须转换。

为什么不干脆
[A.name,A.age]
<代码>列表文字很简单,虽然它在获取多个属性时返回
tuple
s,而不是
list
s,所以如果你不能接受它,你就必须进行转换。

你可以通过所有
A
类属性收集它们,并检查它们是否是方法或内置的

import inspect

def collect_props():
    for name in dir(A):
        if not inspect.ismethod(getattr(A, name)) and\
           not name.startswith('__'):
            yield name

print list(collect_props())

您可以通过所有
A
类属性收集它们,并检查它们是否不是方法或内置的

import inspect

def collect_props():
    for name in dir(A):
        if not inspect.ismethod(getattr(A, name)) and\
           not name.startswith('__'):
            yield name

print list(collect_props())

不确定这里使用列表理解是什么意思,你不需要(也不能真正使用)对你描述的内容的理解。不确定这里使用列表理解是什么意思,你不需要(也不能真正使用)对你描述的内容的理解。