La iteración de listas es común en la programación, pero a veces se requiere imprimir los elementos en pares consecutivos. Este problema en particular es bastante común y tener una solución siempre resulta útil. Analicemos ciertas formas en que se puede resolver este problema.
Método n.º 1: usar la comprensión de listas
La comprensión de listas se puede usar para imprimir los pares accediendo al elemento actual y al siguiente en la lista y luego imprimiéndolos. Se debe tener cuidado al emparejar el último elemento con el primero para formar un par cíclico.
# Python3 code to demonstrate # pair iteration in list # using list comprehension from itertools import compress # initializing list test_list = [0, 1, 2, 3, 4, 5] # printing original list print ("The original list is : " + str(test_list)) # using list comprehension # to perform pair iteration in list res = [((i), (i + 1) % len(test_list)) for i in range(len(test_list))] # printing result print ("The pair list is : " + str(res))
The original list is : [0, 1, 2, 3, 4, 5] The pair list is : [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 0)]
Método n.º 2: usar zip()
+ segmentación de lista
zip
La función se puede usar para extraer pares en la lista y el corte se puede usar para emparejar sucesivamente el elemento actual con el siguiente para el emparejamiento eficiente.
# Python3 code to demonstrate # pair iteration in list # using zip() + list slicing from itertools import compress # initializing list test_list = [0, 1, 2, 3, 4, 5] # printing original list print ("The original list is : " + str(test_list)) # using zip() + list slicing # to perform pair iteration in list res = list(zip(test_list, test_list[1:] + test_list[:1])) # printing result print ("The pair list is : " + str(res))
The original list is : [0, 1, 2, 3, 4, 5] The pair list is : [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 0)]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA