Python中如何检测多个列表的长度是否相等
你目前用的连续相等判断写法本身就非常符合Pythonic风格,在待校验列表数量固定的场景下简洁易读,没有任何问题。
如果你的待校验列表是动态生成、数量不固定(通常会先存到一个容器里),可以用下面两种更灵活的实现:
- 用
all()+生成器表达式(推荐,有短路优化,性能更好)
# 所有待校验的列表预先存入container容器(可以是列表/元组等可迭代对象) container = [list_1, list_2, list_3, list_4] # 先判断容器非空避免索引报错,不需要兼容空容器可以去掉前半段判断 if container and all(len(lst) == len(container[0]) for lst in container): # 长度相等时的逻辑
- 转集合判断长度(写法更简洁,适合列表数量不多的场景)
把所有列表的长度放到集合里,如果集合长度为1,说明所有长度值都相同:
if len(set(len(lst) for lst in container)) == 1: # 长度相等时的逻辑
内容的提问来源于stack exchange,提问作者sunn-e
相关产品推荐
相关产品推荐

