Python – Concatenación Vertical en Matrix

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

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

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

Deja una respuesta

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