将列表中的值追加到不同的集合列表中

时间:2019-07-26 09:48:25

标签: python

所以我有一个具有不同值的候选清单。我想根据值的条件拆分该列表并将其附加到其他列表中。如果我可以向您展示示例,那就更好了

my_list = [211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314]

,我想从211-230,从253-272和从295-314进行迭代,并将其附加到新列表中以从中进行for loop。我有一个擅长阅读的知识。

location_of_rows = [10, 12]
    for j in range(location_of_rows[0], location_of_rows[1]):
            for i in my_List:
                if i is range(211,230,1):
                    val1 = ws_exp.cell_value(i,j)
                elif i is range(253,272,1):
                    val2 = ws_exp.cell_value(i,j)
                else i is range(295,314,1):
                    val3 = ws_exp.cell_value(i,j)
             if val1 and val2 and val3 != '':
                 avg(val1+val2+val3)
        else: 
            pass

我希望很清楚我要做什么。如果没有生病,请放一个简单的excel表:)

2 个答案:

答案 0 :(得分:0)

尝试一下:

location_of_rows = [10, 12]
    for j in range(location_of_rows[0], location_of_rows[1]+1):
        for i in my_List:
            if i in range(211,231,1):
                val1 = ws_exp.cell_value(i,j)
            elif i in range(253,273,1):
                val2 = ws_exp.cell_value(i,j)
            else i in range(295,315,1):
                val3 = ws_exp.cell_value(i,j)
        if val1 != '' and val2 != '' and val3 != '':
            avg(val1+val2+val3)

请注意,您使用的是is而不是注释中的in

请注意,range function的第二个参数不包括在内。

请注意,这是正确的:val1 != '' and val2 != '' and val3 != '',而不是:val1 and val2 and val3 != ''

答案 1 :(得分:0)

将其附加到带有条件的三个不同列表中:

l_211_230 = []
l_253_272 = []
l_294_314 = []

for i in my_list:
    if(i >=211) and (i<= 230):
        l_211_230.append(i)
    elif(i >=253) and (i<= 272):
        l_253_272.append(i)
    elif(i >=294) and (i<= 314):
        l_294_314.append(i)