Dada una array de strings, realice una concatenación de strings por columnas, manejando longitudes de listas variables.
Entrada : [[“Gfg”, “good”], [“is”, “for”]]
Salida : [‘Gfgis’, ‘goodfor’]
Explicación : Strings concatenadas por columna, “Gfg” concatenada con “is”, y así.Entrada : [[“Gfg”, “good”, “geeks”], [“is”, “for”, “best”]]
Salida : [‘Gfgis’, ‘goodfor’, “geeksbest”]
Explicación : columna sabia Strings concatenadas, «Gfg» concatenada con «es», y así sucesivamente.
Método #1: Usar bucle
Esta es la forma bruta en la que se puede realizar esta tarea. En esto, iteramos por todas las columnas y realizamos la concatenación.
Python3
# Python3 code to demonstrate working of # Vertical Concatenation in Matrix # Using loop # initializing lists test_list = [["Gfg", "good"], ["is", "for"], ["Best"]] # printing original list print("The original list : " + str(test_list)) # using loop for iteration res = [] N = 0 while N != len(test_list): temp = '' for idx in test_list: # checking for valid index / column try: temp = temp + idx[N] except IndexError: pass res.append(temp) N = N + 1 res = [ele for ele in res if ele] # printing result print("List after column Concatenation : " + str(res))
The original list : [['Gfg', 'good'], ['is', 'for'], ['Best']] List after column Concatenation : ['GfgisBest', 'goodfor']
Método #2: Usar join() + comprensión de lista + zip_longest()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, manejamos los valores de índice nulo usando zip_longest, y se usa join() para realizar la tarea de concatenación. La comprensión de la lista impulsa la lógica de una sola línea.
Python3
# Python3 code to demonstrate working of # Vertical Concatenation in Matrix # Using join() + list comprehension + zip_longest() from itertools import zip_longest # initializing lists test_list = [["Gfg", "good"], ["is", "for"], ["Best"]] # printing original list print("The original list : " + str(test_list)) # using join to concaternate, zip_longest filling values using # "fill" res = ["".join(ele) for ele in zip_longest(*test_list, fillvalue ="")] # printing result print("List after column Concatenation : " + str(res))
The original list : [['Gfg', 'good'], ['is', 'for'], ['Best']] List after column Concatenation : ['GfgisBest', 'goodfor']
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