如何将Python中的字符串列表转换为字典列表?

问题描述 投票:0回答:2

我想将结构相似的字符串列表转换为字典列表。

字符串列表示例:

list_of_strings = [
'ID payment_method email issue_date payment_date amount currency',
'ID payment_method email issue_date payment_date amount currency',
'ID payment_method email issue_date payment_date amount currency',
...
]

每个信息片段都由字符串本身内部的空格分隔。

所需输出:

resulting_list_of_dicts = [
dict_1 = {"ID": "id1", "payment_method": "paymentmethod1", "e_mail": "email1", "payment_date": "paymentdate1", "amount": "amount1", "currency": "currecny1"},
dict_2 = {"ID": "id2", "payment_method": "paymentmethod2", "e_mail": "email1", "payment_date": "paymentdate2", "amount": "amount2", "currency": "currecny2"},
...
]

我尝试过使用字符串分割函数,但在尝试将子字符串附加到字典时遇到了麻烦。

python string list dictionary split
2个回答
0
投票

循环字符串列表中的每一行。

使用

split()
获取每个单独的部分。

从这些部分构建一个新字典并将其附加到另一个列表。

list_of_dicts = [] 
for s in list_of_strings:
    parts = s.split()
    list_of_dicts.append({
        'id': parts[0],
        'payment_method': parts[1],
        ... and so on
    })

0
投票

列出字典中所需的所有键。然后,您可以使用 从单独的键和值列表创建字典 (dict)

中的技术将其与分割字符串结合起来创建每个字典。
keys = ['ID', 'payment_method', 'email', 'issue_date', 'payment_date', 'amount', 'currency']
resulting_list_of_dicts = [dict(zip(keys, item.split())) for item in list_of_strings]
© www.soinside.com 2019 - 2024. All rights reserved.