2014-02-24 163 views
1

我有一個程序,我應該在其中創建一個5個數字的列表,然後比較這些項目以查看它們是否完全相同。我應該比較列表的數字,然後返回布爾值,如果它是真的。 (我對編程比較陌生,只允許使用隨機庫和普通庫)。如果任何人都能指引我正確的方向,我會很感激。比較列表中的值並創建布爾值Python

我試過的東西,如

if aList[0] = aList[1] and aList [2] and... aList[4]: 
    Return = True. 

謝謝!

回答

5

使用set()

def all_the_same(lst): 
    # all values in aList are the same. 
    return len(set(lst)) == 1 

這適用於可哈希值的任何列表;字符串,整數,布爾值,以哈希的內容的元組,花車(如果它們是完全一樣的),等等。

1
return all(aList[0] == aList[i] for i in range(1, len(aList)) 
-1

這裏是一個具有短路行爲python3變化:

ix = iter(aList) 
iy = iter(aList) 
next(iy) 
if all(x == y for x, y in zip(ix, iy)): 
    do something 
+0

不允許使用除了隨機的外部庫 – dckuehn

+0

請注意,在Python 2中,'zip'是eager(返回一個列表)而不是懶惰;您可以在python標準庫中獲取zip的迭代器版本爲'itertools.izip'。 – SingleNegationElimination