簡體   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