我有一个这样的初始代码:
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/