我有一個程序,我應該在其中創建一個5個數字的列表,然後比較這些項目以查看它們是否完全相同。我應該比較列表的數字,然後返回布爾值,如果它是真的。 (我對編程比較陌生,只允許使用隨機庫和普通庫)。如果任何人都能指引我正確的方向,我會很感激。比較列表中的值並創建布爾值Python
我試過的東西,如
if aList[0] = aList[1] and aList [2] and... aList[4]:
Return = True.
謝謝!
我有一個程序,我應該在其中創建一個5個數字的列表,然後比較這些項目以查看它們是否完全相同。我應該比較列表的數字,然後返回布爾值,如果它是真的。 (我對編程比較陌生,只允許使用隨機庫和普通庫)。如果任何人都能指引我正確的方向,我會很感激。比較列表中的值並創建布爾值Python
我試過的東西,如
if aList[0] = aList[1] and aList [2] and... aList[4]:
Return = True.
謝謝!
使用set()
:
def all_the_same(lst):
# all values in aList are the same.
return len(set(lst)) == 1
這適用於可哈希值的任何列表;字符串,整數,布爾值,以哈希的內容的元組,花車(如果它們是完全一樣的),等等。
return all(aList[0] == aList[i] for i in range(1, len(aList))
這裏是一個具有短路行爲python3變化:
ix = iter(aList)
iy = iter(aList)
next(iy)
if all(x == y for x, y in zip(ix, iy)):
do something
不允許使用除了隨機的外部庫 – dckuehn
請注意,在Python 2中,'zip'是eager(返回一個列表)而不是懶惰;您可以在python標準庫中獲取zip的迭代器版本爲'itertools.izip'。 – SingleNegationElimination