【发布时间】:2018-06-20 01:15:34
【问题描述】:
我有以下格式的列表字典,
mydict =
{ a: [1, 2],
b: [2, 2],
c: [1, 0],
d: [1, 1]
}
另一个只有两个元素的列表,
mylist =
[x, y]
我像这样从mydict 读取值
for key, values in mydict.items():
print key, values
打印出来,
a [1, 2]
b [2, 2]
c [1, 0]
d [1, 1]
但我想要以下输出,
x : [1, 2, 1, 1]
y : [2, 2, 0, 1]
这意味着mydict 的第一列和mylist 的第一个值组成了一个字典。
所以我修改了这样的循环,
for key, values in mydict.items():
newdict = {mylist[0]: mydict[0],
mylist[1]: mydict[1]
}
这给了我想要的输出,
x : [1, 2, 1, 1]
y : [2, 2, 0, 1]
但问题是如果mylist和mydict的长度增加了就不行了,我需要手动添加一个新行,
mylist[2]: mydict[2]
每次在mylist 中添加新值时,如何确保在不添加新行的情况下自动分配键?
PS:mydict 中列表值的长度将始终等于 mylist 的长度。
编辑:
我的输出还应该保留来自mydict 的键值,
x : [1, 2, 1, 1]
y : [2, 2, 0, 1]
keys: a, b, c, d
谢谢
编辑:
0 1
0 a [1,2],
1 b [2,2],
2 c [1,0],
3 d [1,1]
【问题讨论】:
标签: python list dictionary