TypeError: unhashable type: 'list' :python列表去重的小坑

以前在學習的時候,一般對列表去重都是list(set(list))
就是將列表轉換成集合在轉換成列表,但是在今天的時候卻報了一個bug

list_a = [['a', 'b'], ['a', 'b'], ['b', 'c']]
list_a = list(set(list_a))

報的錯誤爲:TypeError: unhashable type: ‘list’
意思就是列表是不可哈希的,去重的方法倒是簡單

list_b = list()
for i in list_a:
    if i not in list_b:
        list_b.append(i)

但是在解決完後就要去想它的原因,其實也很簡單,集合是無序的非重複的數據聚合到一起,那麼肯定是要求裏面的數據不可以變化,那麼用哈希來判斷就是很簡單的方法了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章