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