Python – Llena los caracteres de la lista en String

Dada String y lista, construya una string con solo valores de lista rellenados.

Entrada : test_str = “geeksforgeeks”, fill_list = [‘g’, ‘s’, ‘f’, k]
Salida : g__ksf__g__ks
Explicación : todas las apariciones se completan en su posición de g, s, f y k.

Entrada : test_str = “geeksforgeeks”, fill_list = [‘g’, ‘s’]
Salida : g___s___g___s
Explicación : todas las ocurrencias se completan en su posición de g y s.

Método #1: Usar bucle

Este es un enfoque de fuerza bruta para este problema. En esto, iteramos por todos los elementos en la string, si está en la lista, la llenamos, de lo contrario, la llenamos con el valor de «espacio».

Python3

# Python3 code to demonstrate working of 
# Fill list characters in String 
# Using loop
  
# initializing string
test_str = "geeksforgeeks"
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing fill list 
fill_list = ['g', 's', 'f']
  
# loop to iterate through string 
res = ""
for chr in test_str:
      
    # checking for presence
    if chr in fill_list:
        temp = chr
    else:
        temp = "_"
    res += temp
  
# printing result 
print("The string after filling values : " + str(res)) 
Producción

The original string is : geeksforgeeks
The string after filling values : g___sf__g___s

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

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, formulamos la lógica utilizando la comprensión de listas y se utiliza join() para realizar la unión de los valores requeridos utilizando condiciones.

Python3

# Python3 code to demonstrate working of 
# Fill list characters in String 
# Using join() + list comprehension
  
# initializing string
test_str = "geeksforgeeks"
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing fill list 
fill_list = ['g', 's', 'f']
  
# join() used to concatenate result 
# using conditionals in list comprehension
res = "".join([chr if chr in fill_list else "_" 
               for chr in list(test_str)])
  
# printing result 
print("The string after filling values : " + str(res)) 
Producción

The original string is : geeksforgeeks
The string after filling values : g___sf__g___s

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *