Compruebe si la lista contiene solo el elemento x

Diga que todo w, x, y, y z pueden estar en la lista A. ¿Hay un atajo para verificar que contiene solo x? Ej. ¿Sin negar las otras variables?

w, x, y, yz son todos valores únicos (no listas, tuplas, etc.).

 A=[w,y,x,z] all(p == x for p in A) 

Eso, o si no quieres lidiar con un bucle:

 >>> a = [w,x,y,z] >>> a.count(x) == len(a) 

Esto verifica que todos los element s en A sean iguales a x sin referencia a ninguna otra variable:

 all(element==x for element in A) 

Si todos los elementos de la lista son hashable:

 set(A) == set([x]) 
 {x} == {w,x,y,z} & set(A) 

Esto funcionará si todos los [w,x,y,z] y los elementos en A son hashable.

No estoy seguro de qué significa sin negar las otras variables , pero sospecho que esto es lo que quieres:

 if all(item == x for item in myList): #do stuff 

Heres de otra manera:

 >>> [x] * 4 == [x,w,z,y] 

de los muchos ya mencionados.

Hay dos interpretaciones a esta pregunta:

Primero, es el valor de x contenido en [w, y, z]:

 >>> w,x,y,z=1,2,3,2 >>> any(x == v for v in [w,y,z]) True >>> w,x,y,z=1,2,3,4 >>> any(x == v for v in [w,y,z]) False 

O podría significar que representan el mismo objeto:

 >>> w,x,y,z=1,2,3,4 >>> any(x is v for v in [w,y,z]) False >>> w,x,y,z=1,2,3,x >>> any(x is v for v in [w,y,z]) True