枚举和压缩以访问以前的索引

Enumerate and Zip to access previous index

使用 zip 时是否需要使用枚举并将 zip 元组转换为列表以访问先前的索引(即索引 -1)

例如

list1 = [1, 3, 4, 8, 10]
list2 = [1, 3, 6, 7, 9]

combined_list = list(zip(list1, list2))

for i, v in enumerate(combined_list):
    if i > 0:
        print(combined_list[i-1])

简而言之,这是最pythonic的方式吗?

列表切片,或枚举的第二个参数,如前所述。

for i, v in enumerate( combined_list[1:] ):
    print( i, v, i-1, combined_list[i] )

for i, v in enumerate( combined_list, 1 ):
    print( i, v, i-1, combined_list[i] )

0 (3, 3) -1 (1, 1)
1 (4, 6) 0 (3, 3)
2 (8, 7) 1 (4, 6)
3 (10, 9) 2 (8, 7)