我有两个列表,如
dbFileString.Substring(dbFileString.IndexOf("<Tables>")+"<Tables>".Length, dbFileString.Length-("</Tables>".Length) - ("Tables".Length));
我想创建一个字典,将值保存为列表,如
['a','b','c']
['x','y','z']
我正在使用这样但是给了我不在列表中的值:
{'a':['x'],'b':['y'],'c':['z']}
请建议。
答案 0 :(得分:1)
这会为select11
dictionary = dict(zip(out_head,
([x] for x in select11)
))
或者(@kpie让我想起了dict-comprehension符号):
dictionary = {k:[v] for k,v in zip(out_head, select11)}
答案 1 :(得分:0)
在压缩它们之前,尝试在第二个列表中的每个元素上调用list
。
x, y = ['a','b','c'], ['x','y','z']
new = dict(zip(x, [list(i) for i in y]))
print new
答案 2 :(得分:0)
我认为您正在寻找的语法是这样的。
a = [1,2,3]
b = ['a','b','c']
d = {k:[v] for (k,v) in [(q,w) for q in a for w in b]}
答案 3 :(得分:0)
a = ['a','b','c'] b = ['x','y','z']
dict(zip(a,map(list,b)))
地图(列表)将列表b的每个成员包装在自己的列表中,这就是你想要的。
答案 4 :(得分:0)
使用此功能。
keys = ['a', 'b', 'c']
values = ['x', 'y', 'z']
dictionary = dict(zip(keys, list(values)))