当前位置: 首页 > 知识库问答 >
问题:

Python-将列表转换为具有特定规则的字典

汪学真
2023-03-14

我有一个清单

output = ['A', '', '', 'B', '', '', 'C', 'VariableC', 'vdn', 'L', 'D', '', '', 'E', '', '', 'F', '', '', 'G', '', '', 'H', '', '', 'I', '', '', 'J', '', '', 'K', '', '', 'L', '', '', 'M', '', '', 'N', '', '', 'O', '', '', 'P', '', '', 'Q', '', '', 'R', '', '']

我想要一本像下面这样的字典

new_dict = {'A': ['', ''],
            'B': ['',''],
            'C': ['VariableC','vdn','L'],
            'D': ['',''],
            ....,
            'R': ['','']}

我尝试为new_dict创建一个列表为key_list:

import string
alphabet_string = string.ascii_uppercase
alphabet_list = list(alphabet_string)[:-8]

然后,我尝试对alphabet_listoutput使用嵌套循环,但当我看到output列表中的'l'和'd'时,我处于停滞状态

共有1个答案

冯飞鹏
2023-03-14

这里是一个对我有效的方法,albiet略显凌乱的代码,希望你能理解它背后的逻辑

import string
output = ['A', '', '', 'B', '', '', 'C', 'VariableC', 'vdn', 'L', 'D', '', '', 'E', '', '', 'F', '', '', 'G', '', '', 'H', '', '', 'I', '', '', 'J', '', '', 'K', '', '', 'L', '', '', 'M', '', '', 'N', '', '', 'O', '', '', 'P', '', '', 'Q', '', '', 'R', '', '']
letters = list(string.ascii_uppercase)
cur_letter = -1
data = {}
for item in output:
    if item == letters[cur_letter + 1]:
        data[letters[cur_letter + 1]] = []
        cur_letter += 1
    else:
        data[letters[cur_letter]].append(item)

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

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

  • 问题内容: 我有一个列表格式,如下所示: 如何转换为包含如下所示元素的列表: 问题答案: 用途: 或使用将其视为JSON : 以Python文字作为输入(因此Python源代码中的文本将为您提供一个值),以JSON输入。 演示: 只有当您的输入字符串中包含多个整数列表时,两者之间的区别才会发挥作用。JSON字符串包含unicode,在Python 2上无法正确解释,并且JSON类型只是支持的一部分

  • 问题内容: 假设我a在Python中有一个列表,其条目方便地映射到字典。每个偶数元素代表字典的键,后面的奇数元素是值 例如, 我想将其转换为字典b, 语法上最干净的方法是什么? 问题答案: 如果很大,则可能需要执行以下操作,而不会像上面那样创建任何临时列表。 在Python 3中,您也可以使用理解,但具有讽刺意味的是,我认为最简单的方法是使用,通常是代码味道。 因此,尽管EOL在注释中指出,该方法

  • 问题内容: 我有这样的词典列表: 我想把它变成这样的大熊猫: 注意:列的顺序无关紧要。 如何将字典列表转换为如上所述的? 问题答案: 假设d你的字典列表很简单:

  • 问题内容: 我正在尝试将Python字典转换为Python列表,以便执行一些计算。 那是我的尝试…但是我无法解决问题所在? 问题答案: 你的问题是,你必须和引号使他们的字符串,即你设置包含字符串,而不是变量的值。另外,您不会清除列表,因此每次都添加到列表中,而不是仅包含两个项目。 要修复您的代码,请尝试以下操作: 你并不需要将循环变量拷贝和我放弃了出来到另一个变量在使用它们之前。同样,您无需使用a