在 Python 中检查列表中的所有元素是否相等
Check if all elements in a list are equal in Python
检查列表中的所有元素是否相等:
- 使用
set()
该类将列表转换为set
对象。 - 检查 的长度
set
是否等于1
。 - 如果 的长度
set
等于1
,则列表中的所有元素都相等。
主程序
my_list = ['a', 'a', 'a', 'a'] if len(set(my_list)) == 1: print('All elements in list are equal') else: print('Not all elements in list are equal') # 👇️ if you consider an empty list to have all equal elements my_empty_list = [] if len(set(my_empty_list)) <= 1: print('All elements in list are equal') else: print('Not all elements in list are equal')
我们使用set()
该类将列表转换为set
对象。
Set 对象是唯一元素的无序集合,因此通过将列表转换为
set
,所有重复值都将被删除。如果列表中的所有元素都相等,set
则将只包含 1 个值。
如果考虑一个所有元素都相等的空列表,请使用小于或等于比较运算符 (<=)。
或者,您可以使用该list.count()
方法。
检查列表中的所有元素是否相等:
- 将第一个列表项传递给该
list.count()
方法。 - 如果第一个列表项出现的次数等于列表的长度,则列表中的所有元素都相等。
主程序
my_list = ['a', 'a', 'a', 'a'] if my_list.count(my_list[0]) == len(my_list): print('All elements in list are equal') else: print('Not all elements in list are equal') # 👇️ if you consider an empty list to have all equal elements if not my_list or my_list.count(my_list[0]) == len(my_list): print('All elements in list are equal') else: print('Not all elements in list are equal')
我们使用该list.count()
方法来统计列表中第一个列表项的出现次数。
该list.count()
方法接受一个值并返回所提供的值在列表中出现的次数。
如果第一个列表项在列表中出现的次数等于列表的长度,则列表中的所有元素都相等。
如果您考虑一个所有元素都相等的空列表,请检查该列表是否为假。空序列,例如空字符串、元组和列表都是假值。
或者,您可以使用该all()
功能。
使用该all()
函数检查列表中的所有元素是否相等,例如
if all(item == my_list[0] for item in my_list):
. 如果列表的所有元素都相等,则该all()
函数将返回,否则返回。True
False
主程序
my_list = ['a', 'a', 'a', 'a'] if all(item == my_list[0] for item in my_list): # 👇️ this runs print('All elements in list are equal') else: print('Not all elements in list are equal')
我们使用生成器表达式来遍历列表。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们检查当前列表项是否等于第一个列表项。
all()内置函数接受一个可迭代对象作为参数,如果可迭代对象中的True
所有元素都为真(或可迭代对象为空)则返回。
如果任何列表项不等于第一个列表项,all()
函数将短路返回False
。
如果列表为空,该all()
函数将返回True
任何条件。