2011-02-02 10 views

Respuesta

33

utilizar la palabra clave in sin is.

if "x" in dog: 
    print "Yes!" 

Si desea comprobar la no existencia de un carácter, utilice not in:

if "x" not in dog: 
    print "No!" 
6

in palabra clave que permite iterar sobre una colección y comprobar si hay un miembro en la colección que es igual al elemento.

En esta cadena caso no es más que una lista de caracteres:

dog = "xdasds" 
if "x" in dog: 
    print "Yes!" 

Puede comprobar una subcadena demasiado: Colección

>>> 'x' in "xdasds" 
True 
>>> 'xd' in "xdasds" 
True 
>>> 
>>> 
>>> 'xa' in "xdasds" 
False 

Think:

>>> 'x' in ['x', 'd', 'a', 's', 'd', 's'] 
True 
>>> 

También puede probar la membresía establecida sobre las clases definidas por el usuario.

For user-defined classes which define the __contains__ method, x in y is true if and only if y.__contains__(x) is true.

1

Si desea una versión que genera un error:

"string to search".index("needle") 

Si desea una versión que devuelve -1:

"string to search".find("needle") 

Esto es más eficiente que el 'in' sintaxis

+0

¿Qué? ¿Cómo descubriste que es más eficiente? ¿Lo has cronometrado? o es algún tipo de sabiduría? En mi configuración, su código es mucho más lento, sin mencionar que no es pitónico – SilentGhost

+0

sincronizado en 2.5 usando timeit –

+3

, publique sus tiempos y luego – SilentGhost

Cuestiones relacionadas