Programa de Python para incrementar strings numéricas por K

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))
Producción

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))
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *