A veces, mientras trabajamos con listas de Python, podemos tener problemas en los que necesitamos concatenar números incrustados en la lista de strings y realizar su suma. Esto puede tener aplicación en dominios que tratan con datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso join()
del bucle +
La combinación de las funcionalidades anteriores se puede utilizar para realizar esta tarea. En esto, realizamos la tarea de extraer el número usando join() y loop se usa para realizar la tarea de suma.
# Python3 code to demonstrate working of # Embedded Numbers Summation in String List # Using join() + loop # initializing list test_list = ['g4fg', 'i4s5', 'b9e4st'] # printing original list print("The original list is : " + str(test_list)) # Embedded Numbers Summation in String List # Using join() + loop res = 0 for sub in test_list: res += int(''.join(chr for chr in sub if chr.isdigit())) # printing result print("The summation of strings : " + str(res))
The original list is : ['g4fg', 'i4s5', 'b9e4st'] The summation of strings : 143
Método #2: Uso sum()
de la comprensión de lista +
La combinación de las funciones anteriores también se puede utilizar para realizar esta tarea. En esto, realizamos la suma usando sum() y la comprensión de listas se usa para compilar una string de números para que funcione la suma.
# Python3 code to demonstrate working of # Embedded Numbers Summation in String List # Using sum() + list comprehension # initializing list test_list = ['g4fg', 'i4s5', 'b9e4st'] # printing original list print("The original list is : " + str(test_list)) # Embedded Numbers Summation in String List # Using sum() + list comprehension res = sum([int(''.join(chr for chr in sub if chr.isdigit())) for sub in test_list]) # printing result print("The summation of strings : " + str(res))
The original list is : ['g4fg', 'i4s5', 'b9e4st'] The summation of strings : 143
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