从对象列表中获取属性的平均值

时间:2017-12-12 18:45:33

标签: python oop

我有一个班级:

class Peak:
    def __init__(self):
        self.FileID = ""
        self.RT = 0
        self.Intensity = 0
        self.MZ = 0
        self.ChiSq = 0

我填充其属性并将其添加到列表中,但如何将平均RT作为单个值获取。

3 个答案:

答案 0 :(得分:1)

简单就是这样! :)

#python Code
sum = 0
count = 0
for objects in list:
    sum = sum + object.RT
    count = count + 1
avg = sum / count
祝你好运!

答案 1 :(得分:1)

假设您有一个班级实例列表:

lst = [Peak(), Peak(), Peak(), ...]

你已经完成并填充了他们的属性。如果您想计算RT中所有实例中lst的平均值,您可以

lst_avg = sum([i.RT for i in lst]) / len(lst)

答案 2 :(得分:1)

如果您有Peak个对象的列表,为了获得所有对象的平均RT,您应首先创建每个Peak的RT列表,并计算其平均值这一点。

您可以在一行中完成:

avg_rt = sum([item.RT for item in my_list]) / len(my_list)