python - 在python中列出字典
问题描述
我有这种类型的列表,我正在尝试将其转换为字典,但键正在重复,我无法这样做......
清单是这样的:
my_list = [['full name ',
' Arthur Schopenhauer',
'date of birth ',
' Friday, February 22, 1788 (232 years ago)',
'place of birth ',
' Gdansk, Pomorskie, Poland',
'date of death ',
' Friday, September 21, 1860 (age: 72 years) ',
'place of death ',
' Frankfurt, Hesse, Germany'],
['full name ',
' Aristotle',
'date of birth ',
' 384 BC (2403 years ago)',
'place of birth ',
' Halkidiki, Macedonia Central, Greece',
'date of death ',
' 322 BC (age: 62 years) ',
'place of death ',
' Evvoia, Greece Central, Greece']]
我试图得到类似的东西:
my_dict = {"full name": ['Arthur Schopenhauer', 'Aristotle'],
"date of birth": [' Friday, February 22, 1788 (232 years ago)', '384 BC (2403 years ago)'],
"place of birth": [...],
"date of death": [...],
"place of death": [...]}
你能帮我一些建议或意见吗?
解决方案
您可以将 adefaultdict
与列表类型一起用作值,然后逐对 (key, value) 读取每个列表value
并将list
key
from collections import defaultdict
result = defaultdict(list)
for values in my_list:
for k, v in zip(values[::2], values[1::2]):
result[k].append(v)
print(result)
给予
{
"full name ": [
" Arthur Schopenhauer",
" Aristotle"
],
"date of birth ": [
" Friday, February 22, 1788 (232 years ago)",
" 384 BC (2403 years ago)"
],
"place of birth ": [
" Gdansk, Pomorskie, Poland",
" Halkidiki, Macedonia Central, Greece"
],
"date of death ": [
" Friday, September 21, 1860 (age: 72 years) ",
" 322 BC (age: 62 years) "
],
"place of death ": [
" Frankfurt, Hesse, Germany",
" Evvoia, Greece Central, Greece"
]
}
推荐阅读
- javascript - 渲染器进程的工作 VSC 启动配置?(“断点设置但未绑定”问题)
- zsh - 如何根据zsh中上一个命令的退出代码设置提示?
- recursion - prolog - 递归谓词总和(J,K,N)
- javascript - 如何将数据库的行号放入变量中
- ruby-on-rails - 带有以下记录条件的 Activerecord 查询
- javascript - 如何设置构造函数
- reactjs - 使用材质 UI 和 Enzyme 不工作来模拟更改
- amazon-web-services - 如果 CloudWatch 警报在禁用警报操作时更改状态,则不会触发操作
- jquery - JQuery从表中的元素获取数据属性
- git - 无法从 Master GIT 中删除提交