TypeError: unhashable type: 'list'


想查找列表a中的不重復項

len(list(set(a)))

報錯:

TypeError: unhashable type: 'list'

解決:

  發現是因為列表a不是一維的,是一個嵌套list,將其變成一維后問題解決

  使用函數:

def list_app(old_list, new_list = list()):
    """#isinstance去判斷遍歷的l是不是還是一個list如果還是list,用遞歸繼續反復遍歷"""
    for l in old_list:
        if isinstance(l, list):
            list_app(l) # 調用遞歸
        else:
            # 如果不是,把l添加進一個新的list
            new_list.append(l)
    return new_list

#原文鏈接:https://www.cnblogs.com/colinshi/p/8242602.html
#把一個嵌套的多維列表變為一維列表(遞歸方法)
a=list_app(a)
list(set(a))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM