提问人:Data Analyst 提问时间:3/13/2023 更新时间:3/13/2023 访问量:78
如何解密或将 Python 列表字典转换为普通字典
How to decrypt or convert Python Dictionary of lists to normal dictionary
问:
对 python 非常陌生,从字面上很难解决这个问题。我从json文件中有如下字典。我相信这被称为列表词典。
MyDict = [{Key:[1,2,3,4]}, {Summary:[Text 1, Text 2, Text 3, Text 4]}]
预期成果: 如何将其转换为
{Key:1, Summary:Text 1}
{Key:2, Summary:Text 2}
{Key:3, Summary:Text 3}
{Key:4, Summary:Text 4}
不知道如何实现这一点。.
答:
-1赞
Abdulmajeed
3/13/2023
#1
您可以循环访问列表:
MyDict = {'Key':[1,2,3,4], 'Summary':['Text 1', 'Text 2', 'Text 3', 'Text 4']}
result = []
for i in range(len(MyDict['Key'])):
key = MyDict['Key'][i]
summary = MyDict['Summary'][i]
result.append({ 'Key': key, 'Summary': summary })
print(result)
输出:
[{'Key': 1, 'Summary': 'Text 1'}, {'Key': 2, 'Summary': 'Text 2'}, {'Key': 3, 'Summary': 'Text 3'}, {'Key': 4, 'Summary': 'Text 4'}]
评论
0赞
Data Analyst
3/13/2023
非常抱歉,我的数据不在 [ ] 中。相反,它与 { } 一起使用。Key 是一个列表,Value 也是一个列表。请帮忙..MyDict = { {'key':[1,2,3,4]}, {'summary':['文本 1', '文本 2', '文本 3', '文本 4']} }
0赞
Abdulmajeed
3/13/2023
不是问题。我已经编辑了代码
0赞
Data Analyst
3/13/2023
了不起。。但它仍然在 [ ] 里面。所以它说作为列表。我想把它作为字典导入到sql服务器
0赞
Zelkins
3/13/2023
#2
我会从数据中提取列表开始,因为它更容易使用。
keys = MyDict[0]['Key']
values = MyDict[1]['Summary']
然后,您可以使用zip将两个列表组合在一起,并像这样循环使用它们
res = []
for k, v in zip(keys, values):
res.append({'Key': k, 'Summary': v})
鉴于新数据,看起来实际上应该是。
MyDict = {'Key':[1,2,3,4], 'Summary':['Text 1', 'Text 2', 'Text 3', 'Text 4']}
因此,您唯一需要做的更改是在提取列表时删除索引。
keys = MyDict['Key']
values = MyDict['Summary']
输出
[
{'Key': 1, 'Summary': 'Text 1'},
{'Key': 2, 'Summary': 'Text 2'},
{'Key': 3, 'Summary': 'Text 3'},
{'Key': 4, 'Summary': 'Text 4'}
]
如果您想将其保存为字典,而不是列表,您可以执行以下操作:
res = {}
for k, v in zip(keys, values):
res[k] = v
它的输出将是一个字典,其中每个键都是一个数字,值是摘要:
{
1: 'Text 1',
2: 'Text 2',
3: 'Text 3',
4: 'Text 4'
}
如果你想把它们作为单独的词典做一些事情,你可以对它们做一个操作,而不是把它们存储在另一个词典中。
for k, v in zip(keys, values):
do_something({k: v})
这将为每个键值对调用一个新字典,因此第一个是,依此类推。do_something
{1: 'Text 1'}
评论
0赞
Data Analyst
3/13/2023
非常抱歉,我的数据不在 [ ] 中。相反,它与 { } 一起使用。Key 是一个列表,Value 也是一个列表。请帮忙..MyDict = { {'key':[1,2,3,4]}, {'summary':['文本 1', '文本 2', '文本 3', '文本 4']} }
0赞
Zelkins
3/13/2023
@JamesDataAnalyst 这是原始 json 还是实际的 python 对象?你不能在 python 中有这样的字典。另外,请使用这些详细信息更新您的问题。
0赞
Data Analyst
3/13/2023
它是保存为.json文件的 Python 响应
0赞
Zelkins
3/13/2023
我仍然认为您的数据有问题,因为您提供的不是有效的 JSON
1赞
Data Analyst
3/13/2023
我现在仔细检查了。data 就像 MyDict = { 'Key':[1,2,3,4], 'Summary':['Text 1', 'Text 2', 'Text 3', 'Text 4'] } 我认为它只是列表词典
评论
MyDict
{}
[]