什么';将两个序列合并成一个字典的python方法是什么?

什么';将两个序列合并成一个字典的python方法是什么?,python,Python,在Python中有没有更简洁的方法来实现这一点 def toDict(keys, values): d = dict() for k,v in zip(keys, values): d[k] = v return d 是的: 如果键'的大小可能大于值,则可以使用(Python 2.6)为其余键指定默认值: from itertools import izip_longest def to_dict(keys, values, default=None): ret

在Python中有没有更简洁的方法来实现这一点

def toDict(keys, values):
  d = dict()
  for k,v in zip(keys, values):
    d[k] = v

  return d
是的:


如果
'的大小可能大于
,则可以使用(Python 2.6)为其余键指定默认值:

from itertools import izip_longest

def to_dict(keys, values, default=None):
    return dict(izip_longest(keys, values, fillvalue=default))
例如:

>>> to_dict("abcdef", range(3), 10)
{'a': 0, 'c': 2, 'b': 1, 'e': 10, 'd': 10, 'f': 10}

注意:
itertools.izip*()
函数不同于
zip()
函数返回迭代器而不是列表。

这非常紧凑!谢谢除了到目前为止对该技术的正确回答之外,我还要指出,在命名函数时,“to_dict”比“toDict”更像python。有关编写Python代码的风格建议,请参阅。+1可帮助显然对“the way”感兴趣的人。谢谢您的指导。然而,这应该属于“Python编码风格指南”中的维基化问题。
>>> to_dict("abcdef", range(3), 10)
{'a': 0, 'c': 2, 'b': 1, 'e': 10, 'd': 10, 'f': 10}