如何将Python中以逗号分隔的字符串转换为字典?

Vil*_*lva -1 python dictionary

例如,input1、input2变量和key_loc是字典的键列表,

输入:

input1='sam,geti,1234'
input2='jhon,somwhre,676966'
key_loc =['name','addr','phone']
Run Code Online (Sandbox Code Playgroud)

我期待以下格式的输出。

输出:

output={'recod1:{'name':'sam','addr':'geti','phone':'12343'},
            'record2':{'name':'jhon','addr':'somewhre','phone':'676966'}}
Run Code Online (Sandbox Code Playgroud)

我们如何在 python 中做到这一点?

Thi*_*ter 5

我假设您有一个文件或类似文件的对象,input其中包含您发布的输入行。然后您可以使用此代码将其解析为字典,如下所示:

output = {}
for line in input:
    key, values = line.strip().split('=', 1)
    data = values.split(',')
    output['record' + key[5:]] = dict(name=data[0], addr=data[1], phone=data[2])
Run Code Online (Sandbox Code Playgroud)

但是,如果您实际上不需要来自input1等的数字,请考虑使用 alist作为顶级对象:

output = []
for line in input:
    values = line.strip().split('=', 1)[1]
    data = values.split(',')
    output.append(dict(name=data[0], addr=data[1], phone=data[2]))
Run Code Online (Sandbox Code Playgroud)