Python-创建具有列表理解的字典

发布于 2021-02-02 23:23:15

我喜欢Python列表理解语法。

可以用来创建字典吗?例如,通过遍历键和值对:

mydict = {(k,v) for (k,v) in blah blah blah}  # doesn't work
关注者
0
被浏览
158
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    从Python 2.7和3开始,你应该只使用dict comprehension语法:

    {key: value for (key, value) in iterable}
    

    在Python 2.6和更早版本中,dict内置函数可以接收键/值对的迭代,因此你可以将其传递给列表推导或生成器表达式。例如:

    dict((key, func(key)) for key in keys)
    

    但是,如果你已经具有可迭代的键key/value,则根本不需要使用任何理解-最简单dict的方法是直接调用内置函数:

    # consumed from any iterable yielding pairs of keys/vals
    dict(pairs)
    
    # "zipped" from two separate iterables of keys/vals
    dict(zip(list_of_keys, list_of_values))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看