将两个列表转换为字典?

时间:2017-10-07 18:24:36

标签: python dictionary

def dbupdate(self):
    dicDccp = dict(zip(self.dccpdate, self.dccpValue))
    dicDcep = dict(zip(self.dcepdate, self.dcepValue))
    dicDccp = sorted(dicDccp.keys())
    dicDcep = sorted(dicDcep.keys())
    print(type(dicDccp))
    print(type(dicDcep))
    for (k1, v1), (k2, v2) in zip(dicDccp.items(), dicDcep.items()):
        self.Db.dbupdate(self.symbol, self.threshold, k1, v1, k2, v2)

我试图将两个列表转换为字典。但dicDccpdicDcep的类型仍然是list s。

enter image description here

1 个答案:

答案 0 :(得分:2)

问题是行dictDccp = sorted(dictDccp.keys())

sorted是一个函数,它接受一个可迭代对象(例如你给它的keys()对象)并返回一个列表。你用这个列表覆盖你的dictDccp。

如果您尝试按排序顺序遍历字典的键,则可以执行

for (k1, v1), (k2, v2) in zip(sorted(dictDccp.items()), sorted(dictDcep.items())):
    self.Db.dbupdate(self.symbol, self.threshold, k1, v1, k2, v2)