Página 1 de 1

Duda con sintaxis de python

Publicado: 02 May 2017, 16:24
por Intel1
Hola a todos.

Esta sintaxis es igual?

1.- if ("File was deleted" or "Not Found" or "video is no longer available") in data:

2.-if "File was deleted" in data or "Not Found" in data or "video is no longer available" in data:

Lo he probado y la sintaxis (1) no me funciona bien; solo funciona cuando "data" contiene "File was deleted" (Osea la primera subcadena), pero si contiene alguna de las subcadenas 2 y 3 no funciona el if.

Cual es la sintaxis correcta mas abreviada en python; si quisiera comparar varias subcadenas en una cadena? o tengo que usar la manera de la sintaxis (2)?

P.D.:La sintaxis (1) la he visto en allvid.py. Pero no funciona bien esa sintaxis.

Gracias :)

Re: Duda con sintaxis de python

Publicado: 02 May 2017, 18:36
por SeiTaN
si quieres comparar una lista con una cadena...
http://stackoverflow.com/questions/3271 ... her-string

Lo que pasa que any no es compatible con python 2.4, y es la versión mínima que se usa en pelisalacarta.

Así que sería algo así...

Código: Seleccionar todo

_list = ['File was deleted', 'Not Found', 'video is no longer available']
for element in _list:
    if element in data:
        return True, "mensaje....."

Re: Duda con sintaxis de python

Publicado: 02 May 2017, 21:18
por Intel1
Hola Seitan, me parece mucho código para esto.

Por ahora lo dejaré con la sintaxis (2).

Gracias por contestar :)

Re: Duda con sintaxis de python

Publicado: 02 May 2017, 21:45
por SeiTaN
Eso ya es a gusto de cada uno ;)

Re: Duda con sintaxis de python

Publicado: 04 May 2017, 07:06
por bandavi
Hola intel1.

No se si te sirva esto:

Código: Seleccionar todo

    lista = ['File was deleted', 'Not Found', 'video is no longer available']
    if True in [i in data for i in lista]:
        return "Archivo no encontrado ...."