Python 如何访问字典中的二维值列表?
我有一个Python 如何访问字典中的二维值列表?,python,arrays,dictionary,Python,Arrays,Dictionary,我有一个dict(RefGenomesDict),其中键是登录号(string),值是基因属性的二维列表。当我检查RefGenomesDict以查看它是否包含预期的无注释二维列表时,使用 for key in RefGenomesDict.keys(): print(str(key)+ "\t" + str(RefGenomesDict[key])) 将为每个键打印预期内容 当我尝试使用 InfoList = copy.deepcopy(RefGenomesDict[AccNum])
dict
(RefGenomesDict
),其中键是登录号(string
),值是基因属性的二维列表。当我检查RefGenomesDict以查看它是否包含预期的无注释二维列表时,使用
for key in RefGenomesDict.keys():
print(str(key)+ "\t" + str(RefGenomesDict[key]))
将为每个键打印预期内容
当我尝试使用
InfoList = copy.deepcopy(RefGenomesDict[AccNum])
我得到了错误
TypeError: unhashable type: 'list'.
如何访问二维列表中的值?Python字典通常不支持可变对象作为键,因为它们不可散列。可变类型包括,
dict
、set
和list
如果您试图对
InfoList
进行更改,但又不想在原始文档中反映,则可以这样做。如果不是这样,您可能希望放弃调用deepcopy
。Python字典通常不支持可变对象作为键,因为它们不可散列。可变类型包括,dict
、set
和list
如果您试图对
InfoList
进行更改,但又不想在原始文档中反映,则可以这样做。如果不是这种情况,您可能希望放弃调用deepcopy
。AccNum
是一个列表。那么,使用int,或者其他任何键?你能给我们看看你的字典吗?为什么要双重查找?您可以对somedict.items()中的key,value执行(python 2中的iteritems)。问题在于脚本前面的一个愚蠢的输入错误。很抱歉占用您的时间。AccNum
是一个列表。那么,使用int,或者其他任何键?你能给我们看看你的字典吗?为什么要双重查找?您可以对somedict.items()中的key,value执行(python 2中的iteritems)。问题在于脚本前面的一个愚蠢的输入错误。我很抱歉占用了你们的时间。
In [386]: {[1, 2] : 123}
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-386-3ba6ff881f9f> in <module>()
----> 1 {[1, 2] : 123}
TypeError: unhashable type: 'list'
for key in RefGenomesDict:
InfoList = copy.deepcopy(RefGenomesDict[key])