繁体   English   中英

Python-如何确保嵌套列表中元素的所有长度都相同?

[英]Python - How to ensure all lengths of elements in a nested list are the same?

我在这里有一个功能:

def evenlengthchecker(nestedlist):
    length = len(nestedlist[0])
    for element in nestedlist:
         if len(element) != length:
             return False

当给定的嵌套列表包含值时,此方法实际上起作用。 但是,当我尝试使用诸如evenlengthchecker([])IndexError到处都是!

问题是您的代码首先要检查位置0处的列表,这是带有空列表的索引错误。 这是一个不会出错的替代方法:

return (len(set(len(elt) for elt in nestedlist)) <= 1)

这只是检查一组长度中是否存在一个以上的列表长度。 如果最后得到的是空集,则不会造成任何伤害。

def evenlengthchecker(nestedlist):
    a = [len(i) for i in nestedlist]
    return len(set(a)) ==1

您可以使用all

return all(len(x)==len(my_list[0]) for x in my_list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM