2 回答

TA贡献1802条经验 获得超5个赞
您可以使用enumerate并切片原始索引以从第一个索引开始,例如
res = [[v[0], f'{arr_1[i+1][1]}-{arr_1[i][1]}'] for i, v in enumerate(arr_1[1:])]
# [['key2', 'v2-v1'], ['key3', 'v3-v2'], ['key4', 'v4-v3']]
扩展循环:
res = []
for i, v in enumerate(arr_1[1:]):
res.append([v[0], f'{arr_1[i+1][1]}-{arr_1[i][1]}'])

TA贡献2016条经验 获得超9个赞
这里有一个简单的方法来解决它:
Array1 = [['key1', 1], ['key2', 2], ['key3', 3], ['key4', 4]]
array2 = []
for i, elem in enumerate(Array1[1:]):
array2.append([elem[0], elem[1] - Array1[i][1]])
print(array2)
您迭代Array1从第二个元素开始的元素并保持key原样,同时将第二个元素计算为当前元素减去前一个元素值的差值(即Array1[i][1],因为i从 开始0)。这打印:
[['key2', 1], ['key3', 1], ['key4', 1]]
希望这可以帮助。
添加回答
举报