繁体   English   中英

如何通过 class 方法迭代元组列表中每个元组的第一个元素?

[英]How can I iterate the first element of each tuple in a list of tuples through a class method?

我正在尝试使用 if 语句确定第一个元素是否满足条件,如果满足,则元组的下两项将输入到 class 方法中。 例如:

x = [(345, 1000, 5),(576, 1345, 8), (234, 1175, 3)]

在这种情况下,我想运行元组的第一个元素,如果它表示条件,则将接下来的两个数字放在 class 方法中。

到目前为止,我试图通过以下方式进行迭代:

[i[0] for i in x]:
         if self.i >= 300 and self.i <=750:
              self.test1=[y[1] for y in x] 

我知道这是无法做到的,而且我似乎无法解决这个问题。

满足条件后,其他两个元素应该聚合成两个变量,这样我就可以取平均值。


def regional_stats(self):

        [zipcode[0]for zipcode in all_data]:
            if self.zipcode >= 10000 and self.zipcode <= 14999:
                self.NY_sqft = [sqft[1] for sqft in all_data]
                self.NY_avgsqft = statistics.mean(square_footage)
                return self.NY_avg_sqft

我正在处理住房数据,需要 zip 代码与平方英尺和卧室保持一致,因此我不能简单地将它们作为自己的变量单独提取。 如果它们在 zip 代码范围内,我正在尝试汇总卧室的面积和数量

虽然我并不完全清楚您要做什么,但这里有一些基本语法可以让您到达您需要的地方。

在这种情况下,我只打印了满足条件的元组的平均值,但是您可以将 print() 替换为适合您的任何内容。

import numpy as np
x = [(345, 1000, 5),(576, 1345, 8), (234, 1175, 3)]

for t in x:
    if t[0] >= 300 and t[0] <= 750:
        print(np.mean(t))

Output

450.0
643.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM