Python: reemplaza la string por el valor del diccionario Kth

Dada la lista de strings, reemplace el valor asignado por el valor K-ésimo de la lista asignada.

Entrada : test_list = [“Gfg”, “is”, “Best”], subs_dict = {“Gfg”: [5, 6, 7], “is”: [7, 4, 2]}, K = 0
Salida : [5, 7, «Best»]
Explicación : «Gfg» y «is» se reemplazan por 5, 7 como índice 0 en la lista de valores del diccionario.

Entrada : test_list = [“Gfg”, “is”, “Best”], subs_dict = {“Gfg”: [5, 6, 7], “Best”: [7, 4, 2]}, K = 0
Salida : [5, «es», 7]
Explicación : «Gfg» y «Best» se reemplazan por 5, 7 como índice 0 en la lista de valores del diccionario.

Método #1: Usar la comprensión de listas

Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos la iteración de tareas y el reemplazo condicional dentro de una sola línea en la comprensión de listas.

Python3

# Python3 code to demonstrate working of 
# Replace String by Kth Dictionary value  
# Using list comprehension
  
# initializing list
test_list = ["Gfg", "is", "Best"]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing subs. Dictionary
subs_dict = {
    "Gfg" : [5, 6, 7], 
    "is" : [7, 4, 2], 
}
  
# initializing K 
K = 2
  
# using list comprehension to solve
# problem using one liner
res = [ele if ele not in subs_dict else subs_dict[ele][K]
                                     for ele in test_list]
          
# printing result 
print("The list after substitution : " + str(res))
Producción

The original list : ['Gfg', 'is', 'Best']
The list after substitution : [7, 2, 'Best']

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

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, iteramos usando la comprensión de listas y verificamos la existencia y sustitución de claves usando get().

Python3

# Python3 code to demonstrate working of 
# Replace String by Kth Dictionary value  
# Using get() + list comprehension
  
# initializing list
test_list = ["Gfg", "is", "Best"]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing subs. Dictionary
subs_dict = {
    "Gfg" : [5, 6, 7], 
    "is" : [7, 4, 2], 
}
  
# initializing K 
K = 2
  
# using list comprehension to solve problem using one liner
# get() to perform presence checks and assign default value
res = [subs_dict.get(ele, ele) for ele in test_list]
res = [ele[K] if isinstance(ele, list) else ele for ele in res] 
          
# printing result 
print("The list after substitution : " + str(res))
Producción

The original list : ['Gfg', 'is', 'Best']
The list after substitution : [7, 2, 'Best']

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 *