![](/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.