我是编程新手,使用dataquest学习基础知识。同时,我使用jupiter QT控制台来检查除了dataquest之外的代码。你知道吗
我已经编写了一段代码,从数据中提取所有性别,并将它们添加到一个新的列表中。因为我想要一个唯一值的列表,所以我会应用一个set函数,但这就是它出错的地方。你知道吗
这是我的密码
import csv
f = open("legislators.csv","r")
g = csv.reader(f)
leglist = list(g)
leglist_=leglist[1:]
gender = []
for x in leglist_:
gender.append(x[3])
gender = set(gender)
This returns an error
TypeError Traceback (most recent call last)
<ipython-input-13-356f2359660b> in <module>()
----> 1 gender = set(gender)
TypeError: unhashable type: 'list'
这很奇怪,因为当我在dataquest网站的解释器中使用同一段代码时,它会返回一组独特的性别值 当我使用jupiter QTconsole时,它返回错误
我做错了什么,怎么可能有区别呢?你知道吗
谨致问候
在Python中只有不可变的对象是可哈希的。集合要求其项是可哈希的。列表不可散列。 你可以这样做:
相关问题 更多 >
编程相关推荐