![](/img/trans.png)
[英]How to sort a nested list in python when the nested lists have different lengths or missing elements?
[英]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.