【发布时间】:2020-03-28 06:45:50
【问题描述】:
我有一个这样的代码:
lst = [['Descendant Without A Conscience', 'good', 'happy'], ['Wolf Of The Solstice', '30000', 'sad'], ['Women Of Hope', '-4000', 'neutral'], ['Pirates Of Perfection', '65467', 'neutral'], ['Warriors And Soldiers', '-5435', 'sad'], ['Butchers And Soldiers', '76542', 'sad'], ['World Of The Mountain', '6536543', 'sad'], ['Ruination Of Dusk', '-2000', 'happy'], ['Destroying The Stars', '5435', 'happy'], ['Blinded In My Enemies', '765745.5', 'happy'], ['Descendant Without A Conscience', 'good', 'happy']]
check_lst = list(set(lst))
for movie in lst:
if len(movie) > 3:
raise ValueError('Invalid input.')
elif movie[2] != movie[2].lower():
raise ValueError('Invalid input.')
elif len(lst) != len(check_lst):
raise ValueError('Invalid input.')
由于某种原因,我的 check_lst 无法正常工作,并且出现 TypeError: unhashable type: 'list'。我正在尝试从我的列表中删除重复项并使我的 check_lst 没有重复项。 我错过了什么?
【问题讨论】:
-
set(lst)很可能是您的问题。集合的键不能是列表,由于lst是列表的列表,确实如此。 -
引发此错误的简单方法:
set([[]])
标签: python python-3.x list set typeerror