python - 将字符串行转换为字典

标签 python dictionary

我有一个这样的初始代码:

record = "Jane,Doe,25/02/2002;
          James,Poe,19/03/1998;
          Max,Soe,16/12/2001
          ..."
我需要把它变成一个字典,它的输出应该是这样的:
{'First name': 'Jane', 'Last name': 'Doe', 'Birthday': '25/02/2002'}
{'First name': 'James', 'Last name': 'Poe', 'Birthday': '19/03/1998'}
...
每行应该有一个从 1 开始的递增键。
我目前不知道解决这个问题,因为我仍然是一个没有经验的学生。
我见过人们将它用于包含键值对的字符串,但我的字符串不包含这些:
mydict = dict((k.strip(), v.strip()) for k,v in 
              (item.split('-') for item in record.split(',')))

最佳答案

使用 split :

In [220]: ans = []

In [221]: record = "Jane,Doe,25/02/2002;James,Poe,19/03/1998;Max,Soe,16/12/2001"
In [223]: l = record.split(';')

In [227]: for i in l:
     ...:     l1 = i.split(',')
     ...:     d = {'First Name': l1[0], 'Last Name': l1[1], 'Birthday': l1[2]}
     ...:     ans.append(d)
     ...: 

In [228]: ans
Out[228]: 
[{'First Name': 'Jane', 'Last Name': 'Doe', 'Birthday': '25/02/2002'},
 {'First Name': 'James', 'Last Name': 'Poe', 'Birthday': '19/03/1998'},
 {'First Name': 'Max', 'Last Name': 'Soe', 'Birthday': '16/12/2001'}]

关于python - 将字符串行转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67283854/

相关文章:

python - 代码的时间复杂度是多少?

python - 如何检查排序列表中是否存在序列?

python - sam 部署失败并出现错误 存储桶位于此区域 : us-east-2. 请使用此区域到 us-east-2

python - 通过转换从csv文件中获取字典

python - 匹配列表索引

python - 从满足条件的最后一行开始的 Pandas 累积总和

python - 使用 Dictionary get 方法返回空列表默认​​返回 None

dictionary - 如何使用 Swift 枚举作为字典键? (符合等式)

映射中的 Haskell 错误

c# - 当键从不冲突时快速并行添加到字典