检查列表是否仅包含项目x

idl*_*age 12 python list

假设所有w,x,y和z都可以在列表A中.是否有快捷方式来检查它是否包含x - 例如.没有否定其他变量?

w,x,y和z都是单个值(不是列表,元组等).

gef*_*fei 22

A=[w,y,x,z]
all(p == x for p in A)
Run Code Online (Sandbox Code Playgroud)

  • 请注意:如果列表为空,则表达式始终计算为“True”-尽管“x”不在列表中。如果列表可能为空,请使用 `all(p == x for p in A) 和 len(A) > 0` (2认同)

Eri*_*ser 15

那,或者如果你不想处理一个循环:

>>> a = [w,x,y,z]
>>> a.count(x) == len(a) and a
Run Code Online (Sandbox Code Playgroud)


Cla*_*diu 5

这会检查所有elementsA是否都等于x而不引用任何其他变量:

all(element==x for element in A)
Run Code Online (Sandbox Code Playgroud)


Dav*_*son 5

如果列表中的所有项目都是可哈希的:

set(A) == set([x])
Run Code Online (Sandbox Code Playgroud)