我想遍历2个列表,并比较同一列表中的元素以查看是更高还是更低。 像
high = [5,7,8,4,2 ... 3] 低= [16,4,8,1,48 ... 4]
如果数字大于前一个数字,则将其添加到high_list 如果数字低<前一个数字,则将其添加到low_list
输出应为
high_list = [5,7,8] low_list = [16,4,1]
def iter_num (high,low):
some_listH = []
some_listL = []
for H,L in zip(high,low):
x = H +1
if H > H[x]:
H = H[x]
some_listH.append(H)
if L < L[x]:
L = L[x]
some_listL.append(L)
return some_listH, some_listL
答案 0 :(得分:0)
您写了:
H > H[x]
H要么是列表的元素,要么是列表。两者都不是。
这两个列表基本上彼此无关。如果不能保证它们的长度相同,我不建议在同一循环中处理它们。
这应该针对一个列表执行您想要的操作。您可以从中弄清楚如何处理第二个列表,将其放入函数中,等等。
list = [5,7,8,4,2,1,1,1,3]
some_listL = []
some_listL.append(list[0])
for x, y in zip(list, list[1:]):
if y > x:
some_listL.append(y)
print (some_listL)
要在应得的信用额中给予信用,我从here
了解了如何做到这一点