Dada la lista de Strings, escriba un programa en Python para incrementar las strings que son numéricas por K.
Ejemplos:
Entrada : test_list = [“gfg”, “234”, “is”, “98”, “123”, “mejor”, “4”], K = 6
Salida : [‘gfg’, ‘240’, ‘is ‘, ‘104’, ‘129’, ‘mejor’, ’10’]
Explicación : 234, 98 y 4 se incrementan en 6 en el resultado.Entrada : test_list = [“gfg”, “234”, “is”, “98”, “123”, “mejor”, “4”], K = 4
Salida : [‘gfg’, ‘238’, ‘is ‘, ‘102’, ‘129’, ‘mejor’, ‘8’]
Explicación : 234, 98 y 4 se incrementan en 4 como resultado.
Método #1: Usar str() + int() + loop + isdigit()
En esto, realizamos la tarea de interconversión de elementos usando str() + int(), y verificamos el número usando isdigit(), la iteración se realiza usando loop.
Python3
# Python3 code to demonstrate working of # Increment Numeric Strings by K # Using str() + int() + loop + isdigit() # initializing Matrix test_list = ["gfg", "234", "is", "98", "123", "best", "4"] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 res = [] for ele in test_list: # incrementing on testing for digit. if ele.isdigit(): res.append(str(int(ele) + K)) else: res.append(ele) # printing result print("Incremented Numeric Strings : " + str(res))
Producción:
La lista original es: [‘gfg’, ‘234’, ‘is’, ’98’, ‘123’, ‘best’, ‘4’] Strings numéricas incrementadas: [‘gfg’, ‘240’, ‘is’ , ‘104’, ‘129’, ‘mejor’, ’10’]
Método n.° 2: usar la comprensión de listas + isdigit()
Esta es una de las formas en que se puede realizar esta tarea. Similar a lo anterior, solo una alternativa de línea para compactar la solución usando la comprensión de lista.
Python3
# Python3 code to demonstrate working of # Increment Numeric Strings by K # Using list comprehension + isdigit() # initializing Matrix test_list = ["gfg", "234", "is", "98", "123", "best", "4"] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 # increment Numeric digits. res = [str(int(ele) + K) if ele.isdigit() else ele for ele in test_list] # printing result print("Incremented Numeric Strings : " + str(res))
Producción:
La lista original es: [‘gfg’, ‘234’, ‘is’, ’98’, ‘123’, ‘best’, ‘4’] Strings numéricas incrementadas: [‘gfg’, ‘240’, ‘is’ , ‘104’, ‘129’, ‘mejor’, ’10’]
Método #3: Sin usar ningún método incorporado
Python3
# Python3 code to demonstrate working of # Increment Numeric Strings by K # checking whether string is numeric or not def numeric(num): digits="0123456789" c=0 for i in num: if i in digits: c+=1 if(c==len(num)): return True return False # initializing list test_list = ["gfg", "234", "is", "98", "123", "best", "4"] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 new_list=[] # increment numeric strings. for i in test_list: if(numeric(i)): new_list.append(str(int(i)+K)) else: new_list.append(i) # printing result print("Incremented Numeric Strings : " + str(new_list))
The original list is : ['gfg', '234', 'is', '98', '123', 'best', '4'] Incremented Numeric Strings : ['gfg', '240', 'is', '104', '129', 'best', '10']
La complejidad de tiempo y espacio para todos los métodos es la misma:
Complejidad de tiempo: O(n)
Complejidad espacial: O(n)
Método #4: Usar el método isnumeric()
Python3
# Python3 code to demonstrate working of # Increment Numeric Strings by K # initializing Matrix test_list = ["gfg", "234", "is", "98", "123", "best", "4"] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 res = [] for i in test_list: if i.isnumeric(): res.append(str(int(i)+K)) else: res.append(i) # printing result print("Incremented Numeric Strings : " + str(res))
The original list is : ['gfg', '234', 'is', '98', '123', 'best', '4'] Incremented Numeric Strings : ['gfg', '240', 'is', '104', '129', 'best', '10']
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