python - Python将列表转换为特定的字典
问题描述
我有一个列表,我想转换为特定的 dictdict_a
输入:
a = ['AAA: key1', 'value1', 'value2', 'AAA: key2', 'value3', 'value4', 'value5', 'AAA: key3', 'value6', 'value7']
预期输出:
dict_a = {'key1': [value1, value2], 'key2': [value3, value4, value5], 'key3': [value6, value7]}
我的尝试:
for elem in a:
if a.startswith(AAA:):
d_a = {elem}
解决方案
这是使用的一种方式collections.defaultdict
:
from collections import defaultdict
a = ['AAA: key1', ' value1', ' value2', 'AAA: key2', ' value3', ' value4', ' value5', 'AAA: key3', ' value6', ' value7']
d = defaultdict(list)
for x in a:
if not x.startswith('AAA'):
d[c].append(x.strip())
else:
c = x.split(': ')[1]
print(d)
# defaultdict(<class 'list'>, {'key1': ['value1', 'value2'], 'key2': ['value3', 'value4', 'value5'], 'key3': ['value6', 'value7']})
推荐阅读
- c# - 将cultureinfo 设置为listview xamarin 表单?
- html - 无法在 R Shiny App 中渲染 Mp4 视频
- python - 混合 HTML 和 Python 代码 - 如何在 HTML 代码中引用不断变化的文件名
- python - 熊猫不识别“||” 作为要拆分的字符串
- powerquery - Power Query:自定义列名中的撇号
- excel - 将一列复制到另一个工作簿 VBA 的另一列的最后一个空单元格
- python - 我该如何解决这个问题,x 不在列表中
- haskell - Stack 尚未使用 GHC 和 Cabal 版本进行测试
- python - 使用 pymysql 和 xlrd 将 xlsx 文件加载到表时的日期值不正确
- java - 没有按钮点击的Android片段导航