Programa Python para eliminar un dígito específico de cada elemento de la lista

Dada la lista de elementos, la tarea aquí es escribir un programa de Python que pueda eliminar la presencia de todos los dígitos específicos de cada elemento y luego devolver la lista resultante. 

Ejemplos:

Entrada : test_list = [333, 893, 1948, 34, 2346], K = 3 
Salida : [”, 89, 1948, 4, 246] 
Explicación : se eliminan todas las apariciones de 3.

Entrada : test_list = [345, 893, 1948, 34, 2346], K = 5 
Salida : [34, 893, 1948, 34, 2346] 
Explicación : se eliminan todas las apariciones de 5. 
 

Método 1: usando loop , str() y join()

En esto, realizamos la tarea de reformar elementos convirtiéndolos en strings y verificando cada dígito e ignorando mientras los unimos para obtener un nuevo elemento. Por último, cada elemento se convierte en entero usando int().

Ejemplo:

Python3

# initializing list
test_list = [345, 893, 1948, 34, 2346]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 3
 
res = []
for ele in test_list:
 
    # joining using join(),
    if list(set(str(ele)))[0] == str(K) and len(set(str(ele))) == 1:
        res.append('')
    else:
        res.append(int(''.join([el for el in str(ele) if int(el) != K])))
 
# printing result
print("Modified List : " + str(res))

Producción:

La lista original es: [345, 893, 1948, 34, 2346]

Lista modificada: [45, 89, 1948, 4, 246]

Método 2: usar la comprensión de listas , int( ), str() y join()

Similar al método anterior, la unión se realiza usando join() y la interconversión se realiza usando int() y str().

Ejemplo:

Python3

# initializing list
test_list = [345, 893, 1948, 34, 2346]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 3
 
# list comprehension performing task as one liner
res = ['' if list(set(str(ele)))[0] == str(K) and len(set(str(ele))) == 1 else int(
    ''.join([el for el in str(ele) if int(el) != K])) for ele in test_list]
 
# printing result
print("Modified List : " + str(res))

Producción:

La lista original es: [345, 893, 1948, 34, 2346]

Lista modificada: [45, 89, 1948, 4, 246]

Método 3: Usar el método replace()

Python3

# initializing list
test_list = [345, 893, 1948, 34, 2346]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 3
 
#removing specific digit
res = []
for ele in test_list:
    x=str(ele).replace(str(K),'')
    res.append(int(x))
 
# printing result
print("Modified List : " + str(res))
Producción

The original list is : [345, 893, 1948, 34, 2346]
Modified List : [45, 89, 1948, 4, 246]

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 *