Python: concatenación de rebanadas incrementales en la lista de strings

Dada una lista de strings, realice la tarea de la concatenación de strings aumentando el tamaño de cada string.

Ejemplos:

Input       : test_list = ['gfg', 'for', 'all', 'geeks'], 
Output      : gfoallgeek 
Explanation : g, fo, all, geek -> concatenated from each string [ increasing order ].
Input       : test_list = ['gfg', 'for', 'geeks'], 
Output      : gfogee 
Explanation : g, fo, gee -> concatenated from each string [ increasing order ]. 

Método #1: Usar bucle + corte 

En este, usando el bucle, cada string se itera y se concatena cortando aumentando el contador en cada paso.

Python3

# Python3 code to demonstrate working of
# Incremental Slice concatenation in String list
# Using loop + slicing
 
# initializing list
test_list = ['gfg', 'for', 'all', 'geeks']
 
# printing original list
print("The original list is : " + str(test_list))
 
res = ''
for idx in range(len(test_list)):
 
    # Incremental slicing
    res += test_list[idx][:idx + 1]
 
# printing result
print("Incremental sliced concatenated string : " + str(res))
Producción

The original list is : ['gfg', 'for', 'all', 'geeks']
Incremental sliced concatenated string : gfoallgeek

Método #2: Usando join() + comprensión de lista

En esto, la tarea de concatenación se realiza mediante join(), la tarea de iteración se realiza mediante comprensión de lista para proporcionar taquigrafía.

Python3

# Python3 code to demonstrate working of
# Incremental Slice concatenation in String list
# Using join() + list comprehension
 
# initializing list
test_list = ['gfg', 'for', 'all', 'geeks']
 
# printing original list
print("The original list is : " + str(test_list))
 
# join performs concatenation
res = ''.join([test_list[idx][:idx + 1] for idx in range(len(test_list))])
 
# printing result
print("Incremental sliced concatenated string : " + str(res))
Producción

The original list is : ['gfg', 'for', 'all', 'geeks']
Incremental sliced concatenated string : gfoallgeek

Método #3: Usando reduce + List.index()

Esta es otra forma de realizar esta tarea. Podemos usar reduce para iterar sobre la lista y combinar la string de corte. Usamos List.index() para obtener el valor incremental que se usa en el corte de string. 

Python3

# Python3 code to demonstrate working of
# Incremental Slice concatenation in String list
# Using reduce + List.index()
 
import functools
# initializing list
lis = ['gfg', 'for', 'all', 'geeks']
 
# printing original list
print("The original list is : " + str(lis))
 
 
# Using reduce and list.index function for
# Incremental slice concatenate in string list
ans = functools.reduce(lambda a, b: a+b[:lis.index(b)+1], lis, "")
 
# printing result
print("Incremental sliced concatenated string : " + ans)
Producción

The original list is : ['gfg', 'for', 'all', 'geeks']
Incremental sliced concatenated string : gfoallgeek

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 *