目前正在运行:
l1 = [i for i in range(0,10)]
l2 = [i for i in range(0,10)]
l3 = [i for i in range(0,10)]
lists = [l1, l2, l3]
length = len(lists[0])
for l in lists:
if length != len(l):
raise ValueErrorr('not all lists have same length!')
有没有比 for
循环更漂亮的测试方法?有没有更快/更好的方法不是 O(n)
?
原文由 deepbrook 发布,翻译遵循 CC BY-SA 4.0 许可协议
我会用生成器表达式和
all
来做到这一点:这避免了两次检查第一个列表的长度,并且不会构建一次性列表/集合数据结构。
all
也延迟评估,这意味着它会停止并返回False
一旦生成器产生长度不同的第一个列表。