[pyar] Saludo y consulta

Fernando Gonzalez fagonzalez en gmail.com
Mie Dic 11 16:45:54 -03 2019


Una consulta,
if !lista:
    print('Esta vacia')
else:
    print('tiene elementos')

debería funcionar no?

Un abrazo
Fer

El mié., 11 dic. 2019 a las 12:10, Daniel (<dmlistapython en gmail.com>) escribió:
>
> Christian, si por alguna razón (que no se me ocurre ninguna) necesitarías saber si se evaluaría como true la lista, podrías hacer algo como
> bool(lista) == True
>
> El mié., 11 dic. 2019 a las 7:36, Tomas Zulberti (<tzulberti en gmail.com>) escribió:
>>
>>
>>
>> On Wed, Dec 11, 2019 at 1:44 AM Cristian Nahuel <segura.cristiann en gmail.com> wrote:
>>>
>>> Buenas gente,
>>>
>>> Me presento antes que nada, mi nombre es Cristian, y estoy tratando de empezar de nuevo con esto de Python. Hace mucho tiempo que lo dejé y estoy tratando de retomarlo, espero poder aprender por acá :)
>>>
>>> Ya vengo con mi primer duda. Tengo entendido que una forma de ver si una lista esta vacía es así:
>>>
>>> lista = []
>>> if lista:
>>>     print("Tiene elementos")
>>> else:
>>>     print("No tiene")
>>>
>>> Se evalúa como True si tiene algún elemento, False en caso contrario.
>>> Pero si quiero hacer lo siguiente:
>>>
>>> if lista == False (Para saber si está vacía) o lista == True (Para saber si tiene algún elemento), no me ejecuta el código del if.
>>> Y si, usando una lista con elementos, pongo algo del estilo lista != True, o lista != False, siempre me ejecuta el código.
>>>
>>> No se si se entenderá mi duda, o si me estoy mareando con algo simple. Espero me puedan dar una mano, gracias!
>>
>>
>>
>> Hola.
>>
>> Vamos por partes:
>>
>> cuando haces `if variable` lo que esta pasando es que en funcion del tipo de la variable la misma puede evaluar a False o True:
>>
>> - Si es un numero, va a evaluar a False si es 0
>> - Si es un string, va a evaluar a False si esta vacio
>> - Si es un diccionario, tupla, o lista va a evaluar a False si esta vacio
>>
>> Esa evaluacion la hace automaticamente Python. Sin embargo, al poner:
>>
>> `if lista == False` lo que estas queriendo comparar es si la lista es igual al tipo False. En este caso no se usa la conversion que
>> mencione, sino que se esta comparando entre igualdad en una lista y un booleano. Lo mismo pasa al hacer `if lista != False` (
>> o lista != True), porque estas chequeando por igualdad entre una lista y un booleano, y nunca te van a dar iguales, y siempre
>> termina entrando en el for
>>
>> Saludos,
>> Tomas Zulberti
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
>
>
>
> --
> Daniel Malisani
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar


Más información sobre la lista de distribución pyar