Dav*_*vid 2 python dictionary list
我正在尝试创建一个将给定列表转换为给定字典的函数(如果需要,我可以指定/赋值).
例如,如果我有一个列表
['a', 'b', 'c', ..., 'z']
Run Code Online (Sandbox Code Playgroud)
我想转换成这样的字典
{1: 'a', 2: 'b', 3: 'c', ..., 26: 'z'}
Run Code Online (Sandbox Code Playgroud)
我知道如何使用字典理解来做到这一点
{num : chr(96 + num) for num in range(1, 26)}
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将其变成一个更通用的函数,可以将任何列表转换为字典.这里最好的方法是什么?
将enumerated列表传递给dict构造函数
>>> items = ['a','b','c']
>>> dict(enumerate(items, 1))
>>> {1: 'a', 2: 'b', 3: 'c'}
Run Code Online (Sandbox Code Playgroud)
这enumerate(items, 1)将产生tuple元素及其索引.指数将从1(注意第二个参数enumerate)开始.使用此表达式,您可以定义内联函数,如:
>>> func = lambda x: dict(enumerate(x, 1))
Run Code Online (Sandbox Code Playgroud)
调用它像:
>>> func(items)
>>> {1: 'a', 2: 'b', 3: 'c'}
Run Code Online (Sandbox Code Playgroud)
或者是常规功能
>>> def create_dict(items):
return dict(enumerate(items, 1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1253 次 |
| 最近记录: |