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))
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))
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