枚举和压缩以访问以前的索引
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)
使用 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)