Python – emparejamiento de índice de diferencia K en la lista

A veces, durante la programación, podemos enfrentar un problema en el que necesitamos realizar una concatenación de elementos de diferencia K. Este problema puede ocurrir en momentos de programación escolar o programación competitiva. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: usar la comprensión de listas + lazip()
combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, iteramos la lista usando comprensión de lista y formación de pares usando zip().

# Python3 code to demonstrate working of
# K difference index pairing in list
# using list comprehension + zip()
  
# initialize list 
test_list = ["G", "F", "G", "I", "S", "B", "E", "S", "T"]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initialize K
K = 3
  
# K difference index pairing in list
# using list comprehension + zip()
res = [i + j for i, j in zip(test_list, test_list[K :])]
  
# printing result
print("List after K difference concatenation is : " + str(res))
Producción :

The original list : ['G', 'F', 'G', 'I', 'S', 'B', 'E', 'S', 'T']
List after K difference concatenation is : ['GI', 'FS', 'GB', 'IE', 'SS', 'BT']

Método #2: Usarmap() + concat()
la combinación de estas funciones también puede realizar esta tarea. En esta lógica transversal se realiza map() y concat realiza la tarea de emparejamiento. Es más eficiente que el método anterior.

# Python3 code to demonstrate working of
# K difference index pairing in list
# using map() + concat
import operator
  
# initialize list 
test_list = ["G", "F", "G", "I", "S", "B", "E", "S", "T"]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initialize K 
K = 3
  
# K difference index pairing in list
# using map() + concat
res = list(map(operator.concat, test_list[:-1], test_list[K:]))
  
# printing result
print("List after K difference concatenation is : " + str(res))
Producción :

The original list : ['G', 'F', 'G', 'I', 'S', 'B', 'E', 'S', 'T']
List after K difference concatenation is : ['GI', 'FS', 'GB', 'IE', 'SS', 'BT']

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 *