创建一个可以将列表转换成python字典的函数

发布于 2021-01-29 15:04:48

我正在尝试创建一个将给定列表转换为给定字典的函数(如果需要,可以在其中指定/分配值)。

例如,如果我有一个列表

['a', 'b', 'c', ..., 'z']

我想转换成这样的字典

{1: 'a', 2: 'b', 3: 'c', ..., 26: 'z'}

我知道如何使用字典理解来做到这一点

{num : chr(96 + num) for num in range(1, 26)}

但我不知道如何使它成为一个更通用的函数,该函数可以将任何列表转换成字典。最好的方法是什么?

关注者
0
被浏览
128
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    enumerated列表传递给dict构造函数

    >>> items = ['a','b','c']
    >>> dict(enumerate(items, 1))
    >>> {1: 'a', 2: 'b', 3: 'c'}
    

    这里enumerate(items, 1)将产生tuples的元素及其索引。索引将从1请注意
    的第二个参数enumerate)开始。使用此表达式,您可以定义一个函数内联,例如:

    >>> func = lambda x: dict(enumerate(x, 1))
    

    像这样调用它:

    >>> func(items)
    >>> {1: 'a', 2: 'b', 3: 'c'}
    

    或常规功能

    >>> def create_dict(items):
            return dict(enumerate(items, 1))
    


知识点
面圈网VIP题库

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

去下载看看