2016-07-05 71 views
0

我需要从列表中选择多个项目并查看它们是否全部相同。事情是这样的:一次比较列表中的多个项目?

if list1[:3] == 'x': 
     Do Something.... 

所以,我需要知道,如果列表中的项目0-3等于字符“X”。我只是不知道如何做到这一点。

+3

你想不到的*任何*方式来完成这个?!? –

+0

如果列表中少于3个元素,该怎么办? –

+0

尽管对你来说看起来很明显,但斯科特·亨特对我来说并不明显,因为我仍然在学习。 – Jbthomp

回答

1

最可读/有效的方法似乎是:

if all(v == 'x' for v in list[:3]): 
    # do something 
+0

这看起来像我需要的感谢! – Jbthomp

+1

如果它回答您的需求,您应该[接受答案](http://i.imgur.com/XgH04Em.png)。 – aluriak

4

一种方式做一次可能是:

if list[:3] == 3*['x']: 
    # DO something 

希望这有助于。

0

使用这样的事情:

subArr = list1[:3] 
if len([i for i in subArr if i == 'x']) == len(subArr): 
    #OK 
0

你也可以这样做:

if {x} == set(list1[:3]): 
    #do something 
+1

如果列表中的元素少于3个,则可能会错误地返回True,您需要确保list1 [:3]的长度为3 –