python中的typerror同时为键添加值

时间:2016-03-15 21:31:56

标签: python

这就是我想要的但我不断收到任何想法的错误?

third_value_list =[0,1] 
for i in third_value_list 
num_list = [1,2] 
val_list = [0,1] 
dict1 = dict((k, [v]+i) for (k, v) in zip(num_list,val_list)) 
print dict1 

TypeError:只能连接列表(不是' int')到列表

期望的输出 {1:[0,0],2:[1,0],1:[0,1],2:[1,1]}

4 个答案:

答案 0 :(得分:0)

我不确定你究竟想要构建什么,但你可以通过

获得所需的结果
num_list = [1,2]
val_list = [0,1]
dict1 = dict((k, [v, 0]) for (k, v) in zip(num_list,val_list))

代码中的主要问题是您正在尝试添加列表和整数

[v]+i

我用[v,i]替换了。但由于i始终为0,因此我得到了上面发布的答案。

答案 1 :(得分:0)

如果要在字典中为key添加一个值,请确保从一开始就是元组或列表的值。一旦你这样做,你可以:

TIdBytes

现在d [1]出现了一个新值。除此之外,您可能必须构建一个函数来处理类型之间的差异(list,tuple,int等)。

答案 2 :(得分:0)

首先,你永远无法获得这样的输出,因为你不能在字典中有重复的键。为现有密钥分配值将消除旧值。

答案 3 :(得分:0)

我添加了[],我得到了所需的输出是的,这是可能的

third_value_list =[0,1] 
for i in third_value_list 
num_list = [1,2] 
val_list = [0,1] 
dict1 = dict((k, [v]+[i]) for (k, v) in zip(num_list,val_list)) 
print dict1