以前在學習的時候,一般對列表去重都是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)
但是在解決完後就要去想它的原因,其實也很簡單,集合是無序的非重複的數據聚合到一起,那麼肯定是要求裏面的數據不可以變化,那麼用哈希來判斷就是很簡單的方法了