Digamos que tengo esta lista: list = ['hello','world','spam','eggs'] y quiero borrar todo de esa lista, EXCEPTO 'mundo'. ¿Cómo hago esto?

0
Roy 14 dic. 2019 a las 19:08

2 respuestas

Otra solución es comprobar si existe 'mundo' en su lista. Si no, asigne una lista vacía.

list = ['hello','world','spam','eggs']
if 'world' in list:
    list = ['world'] * list.count('world')
else:
    list = []
print(list)
1
Prince Francis 14 dic. 2019 a las 16:24

Puede usar la comprensión de la lista para esto como:

l = ['hello','world','spam','eggs']
only = [item for item in l if item  == 'world'] # ['world']

Si desea hacerlo para varias palabras, puede almacenar sus filtros de esta manera:

l = ['hello','world','spam','eggs']
filters = ['hello', 'world']
only = [item for item in l if item  in filters] # ['hello', 'world']

O también puede usar la función filter como esta:

l = ['hello','world','spam','eggs']
only = filter(lambda x: x == 'hello', l) # ['hello']

En total, considere ahora llamar a sus variables por el nombre del tipo, llamando a algo list anular el constructor list, que puede conducir a otros problemas en el futuro

4
Reznik 14 dic. 2019 a las 16:28