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