【发布时间】:2016-07-02 15:07:45
【问题描述】:
我正在尝试了解 dict1 和 dict2 之间的区别,但我不断收到错误,有什么帮助吗?
ret = {}
third_value_list =[0,1]
for i in third_value_list:
#print i
num_list = [1,2]
val_list = [0,1]
dict1 = dict((k, [v]+[i]) for (k, v) in zip(num_list,val_list))
print dict1
num_list2= [1,2]
val_list2 = [0,6]
dict2 = dict((k, [v]+[i]) for (k, v) in zip(num_list2,val_list2))
print dict2
if set(dict2.items()) - set(dict1.items()):
print 'true'
a = set(dict1.items()) - set(dict2.items())
ret.update (a)
print ret
输出:
{1: [0, 0], 2: [1, 0]}
Traceback(最近一次通话最后一次):
文件“C:\Randstad-ISS\workspace\pattern2\src\pat2\t4.py”,第 46 行,在
if set(dict2.items()) - set(dict1.items()):TypeError: unhashable type: 'list'
{1: [0, 0], 2: [6, 0]}
{1: [0, 1], 2: [1, 1]}
{1: [0, 1], 2: [6, 1]}
【问题讨论】: