Python | Emparejar iteración en la lista

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))
Producción:

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))
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *