我有一个程序,我应该在其中创建一个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