2016-12-30 89 views
0

我試圖讓Python在任何時候給出一個僅包含數字6的列表,並且如果它包含其他任何內容,則返回false。所以:如何檢查列表中的每個元素是否相同(設置)變量

list1 = [3, 6, 1] # Would return False 
list2 = [5, 5, 5] # Would return False 
list3 = [6, 6, 6] # Would return True 

我認爲這事做任何(),但據我所知,只能用來看看列表中僅包含相同的元素,如果它僅包含不特定的元件。

+0

那麼,你嘗試過什麼? – 2016-12-30 19:03:57

+1

使用'all()'功能。 – Barmar

+0

你有什麼嘗試?有一百萬種方法可以做到這一點。你可以使用'all','fold',for循環,顯式遞歸... – Carcigenicate

回答

2

您可以使用set()這樣的:

set(l) == {6} 

例子:

>>> l = [6, 6, 6] 
>>> set(l) == {6} 
True 
>>> 
>>> l = [6, 6, 6, 5] 
>>> set(l) == {6} 
False 

另一種方法是使用all()generator expression

all(item == 6 for item in l) 
+0

理想情況下,您不會撥打'set'兩次... –

+0

@ juanpa.arrivillaga。你是對的。謝謝! – ettanany

+1

這是一個非常詳細的方式來檢查's == {6}'。 – user2357112

相關問題