【发布时间】:2018-01-28 21:51:02
【问题描述】:
我正在尝试更新具有相同 int 值的 OrderedDict 的键列表,例如
for idx in indexes:
res_dict[idx] = value
其中value 是int 变量,indexes 是ints 的list,它们充当键,res_dict 是OrderedDict,试图在一行中解决上述问题,
res_dict[indexes]=value
但得到了错误:
TypeError: unhashable type: 'list'
循环或列表理解是在此处进行此更新的唯一方法吗?
【问题讨论】:
-
indexes 是一个键列表?和
keys是什么?如果indexes中有一个列表(我敢打赌有),那么请确保它没有被用作键;只是因为lists不能用作键。 -
@Abdou
indexes是ints 的列表,在此上下文中充当键 -
嗯...你可以这样做
res_dict.update((idx, value) for idx in indexes)...
标签: python python-3.x list dictionary ordereddictionary