我有一个实例列表,我需要从该列表中提取每个实例的某个属性,这将形成一个新列表。我对 Python 有点陌生,我可以解决这个问题的唯一方法是使用 exec() 函数,这显然使它成为一个可怕的解决方案。有人知道更好的方法吗?
我目前的功能是:
def attributelist(list, attribute):
"Inputs a list of instances and returns a list of a certain attribute of those instances"
output = []
for instance in list:
exec("output.append(instance." + attribute + ")")
return output
例如,使用属性“name”的类“my_class”:
instances = []
for i in range(10):
instances.append(my_class(i))
attributelist(instances, 'name')
Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]