当前位置: 首页 > 面试题库 >

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

董桐
2023-03-14
问题内容

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

例如,如果我有一个列表

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

我想转换成这样的字典

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

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

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

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


问题答案:

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))


 类似资料:
  • 问题内容: 假设你有: 产生以下字典的最简单方法是什么? 问题答案: 像这样: Voila 成对的·构造函数和·函数非常有用:

  • 问题内容: 我有一个嵌套列表,如何将其转换为字典 字典应阅读以下内容 我试图将其更改为Pandas DataFrame并将其转换为字典。但是我正在寻找从列表到字典的直接转换 将感谢您的帮助。在Python 3中期待答案 问题答案: 一种方法是使用,它依次遍历每个列表的第 i 个元素: 按照@Jean-FrançoisFabre的建议,通过打开包,可确保您的值是列表。 结果 另一种方法是使用:

  • 问题内容: l = [“a”, “b”, “c”, “d”, “e”] 我想将此列表转换为字典,例如: 因此,基本上,偶数将是关键,而赔率将是值。我知道我可以使用“非Python”方式(例如使用if语句的for循环)来完成此操作,但我相信应该有一种“ Python”方式来完成此任务。因此,感谢您的帮助:) 问题答案: 使用通常的石斑鱼食谱,您可以执行以下操作: Python 2: Python 3

  • 问题内容: 我有一个这样的元组列表: 我想在第一项中遍历此键,因此,例如,我可以打印如下内容: 我该如何在不保持项目跟踪第一个项目是否与我在元组周围循环相同的情况下进行此操作?感觉很乱(而且我必须先对列表进行排序)… 问题答案: 产生:

  • 问题内容: 我想创建一个字典,其值为列表。例如: 如果我做: 我收到一个KeyError,因为d […]不是列表。在这种情况下,我可以在分配a后添加以下代码以初始化字典。 有一个更好的方法吗?可以说,直到进入第二个循环,我才知道需要的键。例如: 然后可以替代 与 处理此问题的最佳方法是什么?理想情况下,追加将“有效”。有什么方法可以表达我想要空列表的字典,即使我第一次创建列表时也不知道每个键? 问

  • 问题内容: 我有一个字典列表,看起来像这样: 等等。列表中可能还有更多文档。我需要将它们转换为一个JSON文档,可以通过bottle返回该文档,但我不知道该怎么做。请帮忙。我在该网站上看到了类似的问题,但是我无法理解那里的解决方案。 问题答案: 使用json库 顺便说一句,您可能会考虑将变量列表更改为另一个名称,这是用于创建列表的内置函数,如果不更改变量名称,则可能会出现一些意外行为或错误代码。