Eliminar valores falsos de una lista en Python

Requisito previo: valores verdaderos frente a falsos en Python

En Python, el valor que se evalúa como Falso se considera un valor Falso. Los valores como lista vacía, diccionario vacío, tupla vacía, conjunto vacío, string vacía, ninguno, falso, 0 se consideran valores falsos. Entonces nuestra tarea es eliminar todos los valores falsos de la lista.

Ejemplos:

Input:  [10,20,30,0,False,40,0]
Output:  [10,20,30,40]

Input: [False,None,1,2,3,"Geeks"]
Output: [1,2,3,"Geeks"]

Input: [[],(),"GeeksForGeeks",26,27]
Output: ["GeeksForGeeks",26,27]

Método 1 :

Podemos crear una nueva lista que contendrá valores que no sean Falsy. Recorreremos la lista y comprobaremos si el valor dado es Verdadero o Falso. Si es Truthy, lo agregaremos a la nueva lista. Ahora, para verificar si el valor dado es Verdadero o Falso, podemos usar el método bool() . Este método devuelve True si el valor es Truthy, de lo contrario devuelve False.

Python3

# Python Program to remove falsy values
# from List
  
# Function returning the updated list 
def Remove_Falsy(List):
    List1 = []
    for i in List:
        if(bool(i)):
            List1.append(i)
    return List1;
              
# Original List
List1 = [10, 20, 30, 0, False, 40, 0]
List2 = [False, None, 1, 2, 3, "Geeks"]
List3 = [[], (), "GeeksForGeeks", 26, 27]
  
# printing the updated list after removing Falsy values
print("List1[] = ", Remove_Falsy(List1))
print("List2[] = ", Remove_Falsy(List2))
print("List3[] = ", Remove_Falsy(List3))

Producción:

List1[] =  [10, 20, 30, 40]
List2[] =  [1, 2, 3, 'Geeks']
List3[] =  ['GeeksForGeeks', 26, 27]

Método 2: 

Podemos usar el método filter() para filtrar valores falsos. En el método – filter(function,sequence) , usaremos el método bool() como argumento en el método de filtro. Devolverá verdadero o falso en función de los valores verdaderos o falsos.

Python3

# Python Program to remove falsy values
# from List
  
# Function returning the updated list 
def Remove_Falsy(List):
    return list(filter(bool,List))
  
# Original List
List1 = [ 10, 20, 30, 0, False, 40, 0]
List2 = [ False, None, 1, 2, 3, "Geeks"]
List3 = [ [], (), "GeeksForGeeks", 26, 27]
  
# printing the updated list after removing Falsy values
print("List1[] = ", Remove_Falsy(List1))
print("List2[] = ", Remove_Falsy(List2))
print("List3[] = ", Remove_Falsy(List3))

Producción:

List1[] =  [10, 20, 30, 40]
List2[] =  [1, 2, 3, 'Geeks']
List3[] =  ['GeeksForGeeks', 26, 27]

Publicación traducida automáticamente

Artículo escrito por AStream26 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 *