基本上,我想将现有数组(时间戳,值)与以前的分钟值进行比较
例如
Array1 = [[key1, v1] [key2, v2] [key3, v3] [key4, v4]]
,并希望生成一个新的数组,如
Array2 = [[key2, v2-v1] [key3, v3-v2] [key4, v4-v3]]
这里的关键是时间戳
答案 0 :(得分:0)
这是解决问题的简单方法:
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]]
希望这会有所帮助。
答案 1 :(得分:0)
您可以使用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]}'])