我需要一些帮助来理解3个python列表。首先,我想检查列表B中的项是否连续。如果不连续,我将把列表a和c中相应的值添加到一个新列表中。如果连续,我将继续,直到找到一个不同的数字来添加a和c的值。
我是这么试的:
a = [40,0,40,40,0,40,0,0,0,40]
b = [1, 2, 3, 3,4,5,7,7,7,8]
c = [1.2,1.1,1.3,1.4, 1.5,1.0, 0.9, 1.6, 0.6, 0.8]
def lst(a, b, c):
zeros = []
count = 1
for i in range(1, len(b)):
if b[i] == b[i-1] & a[i] == a[i-1]:
count += 1
else:
zeros.append([a[i-1], c[i-1]])
return zeros
data = lst(a, b, c)
print(data)
不幸的是,它包括了输出中除最后一个值之外的所有内容
我希望看到数据= [[40,1.2],[0,1.1],[40,1.3],[0,1.5],[40,1.1],[0,0.9],40,0.8]]
1条答案
按热度按时间wrrgggsh1#
根据您想要的输出判断,我猜您希望包含index处的元素,其中b大于前一个index处的元素(consecutive表示+= 1):
输出: