【发布时间】:2018-05-30 09:11:52
【问题描述】:
简介
来自这个问题
Python- creating object instances in a loop with independent handling
如果您创建了一个实例列表,我在问自己如何访问所有而不是单个实例的属性。
最小示例
考虑使用属性名称和值创建公司实例列表。现在我想知道,这些公司中哪家的价值最高。
到目前为止,我只是将 value 属性的值存储在一个数组中,然后找到最大值的索引。
import numpy as np
class Company(object):
def __init__(self, name, value):
self.name = name
self.value = value
companies = []
for name in 'ABC':
companies.append(Company(name, np.random.rand()))
l = len(companies)
liste = np.zeros(l)
for i in range(l):
liste[i] = companies[i].value
ind = np.unravel_index(np.argmax(liste), liste.shape)
print("Highest value: ", liste[ind])
print("Company of highest value: ", companies[ind[0]].name)
问题
1) 有没有其他方法可以在不使用 for 循环的情况下创建所有属性值的列表?
2) 是否有直接的方法可以在列表中找到某个属性的值最大的实例?
【问题讨论】:
标签: python class oop attributes instances