A veces, mientras programamos, podemos tener un problema en el que dedicamos a cada carácter de los alfabetos una puntuación particular y luego, de acuerdo con la string, extraemos solo esa puntuación para cálculos posteriores. Esto puede tener aplicación en el dominio de los juegos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: usar la comprensión de listas +ord()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, realizamos la tarea de iteración de elementos utilizando la comprensión de listas y ord() realiza la tarea de verificar el índice de la lista que debe devolverse.
# Python3 code to demonstrate working of # Extract Score list of String # using list comprehension + ord() # initialize list and string test_list = [3, 4, 5, 7, 5, 8, 1, 5, 7, 10, 6, 7, 9, 11, 3, 1, 3, 6, 7, 9, 7, 4, 6, 4, 2, 1] test_str = "geeksforgeeks" # printing original list and string print("The original list : " + str(test_list)) print("The original string : " + str(test_str)) # Extract Score list of String # using list comprehension + ord() res = [test_list[ord(ele) - 97] for ele in test_str] # printing result print("The Score list is : " + str(res))
La lista original: [3, 4, 5, 7, 5, 8, 1, 5, 7, 10, 6, 7, 9, 11, 3, 1, 3, 6, 7, 9, 7, 4, 6 , 4, 2, 1]
La string original: geeksforgeeks
La lista de puntuaciones es: [1, 5, 5, 6, 7, 8, 3, 6, 1, 5, 5, 6, 7]
Método #2: Uso zip() + ascii_lowercase + dict()
de la comprensión de lista +
La combinación de las funciones anteriores también se puede utilizar para realizar esta tarea. En esto, la tarea de unir la puntuación del elemento de la lista con el carácter se realiza mediante zip() y se utiliza la comprensión de la lista para generar el resultado final.
# Python3 code to demonstrate working of # Extract Score list of String # using list comprehension + zip() + ascii_lowercase + dict() import string # initialize list and string test_list = [3, 4, 5, 7, 5, 8, 1, 5, 7, 10, 6, 7, 9, 11, 3, 1, 3, 6, 7, 9, 7, 4, 6, 4, 2, 1] test_str = "geeksforgeeks" # printing original list and string print("The original list : " + str(test_list)) print("The original string : " + str(test_str)) # Extract Score list of String # using list comprehension + zip() + ascii_lowercase + dict() temp = dict(zip(string.ascii_lowercase, test_list)) res = [temp[ele] for ele in test_str] # printing result print("The Score list is : " + str(res))
La lista original: [3, 4, 5, 7, 5, 8, 1, 5, 7, 10, 6, 7, 9, 11, 3, 1, 3, 6, 7, 9, 7, 4, 6 , 4, 2, 1]
La string original: geeksforgeeks
La lista de puntuaciones es: [1, 5, 5, 6, 7, 8, 3, 6, 1, 5, 5, 6, 7]
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