Скажем, что все w, x, y и z могут быть в списке A. Есть ли ярлык для проверки того, что он содержит только x - например. без отрицания других переменных?
w, x, y и z - все одиночные значения (не списки, кортежи и т.д.).
Ответ 1
A=[w,y,x,z]
all(p == x for p in A)
Ответ 2
Это, или если вы не хотите иметь дело с циклом:
>>> a = [w,x,y,z]
>>> a.count(x) == len(a) and a
(and a добавлен для проверки пустого списка)
Ответ 3
Это проверяет, что все element в A равны x без ссылки на любые другие переменные:
all(element==x for element in A)
Ответ 4
Если все элементы в списке хешируются:
set(A) == set([x])
Ответ 5
{x} == {w,x,y,z} & set(A)
Это будет работать, если все [w,x,y,z] и элементы в A являются хешируемыми.
Ответ 6
Я не уверен, что без отрицания других переменных, но я подозреваю, что это то, что вы хотите:
if all(item == x for item in myList):
#do stuff
Ответ 7
Вот еще один способ:
>>> [x] * 4 == [x,w,z,y]
многих уже заявленных.
Ответ 8
В этом вопросе есть две интерпретации:
Во-первых, это значение x, содержащееся в [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
Или это может означать, что они представляют один и тот же объект:
>>> 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