如何在python字典中拆分值?

2024-05-15 09:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我把dict的值以列表的形式存储起来。 下面是它的样子:

d = [
{'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=prince,initial=p'},
{'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=steven,initial=s'}
]

在这里,在键Length中,我有两个值。first=steven,initial=s 我想拆分这些值并创建两个新字段,并将其以更新的形式存储在字典中。你知道吗

所需输出:

d = [
{'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=prince,initial=p','first':'prince','initial':'p'},
{'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=steven,initial=s','first':'steven','initial':'s'}
]

以下是我尝试的程序:

d = [
{'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=prince,initial=p'},
{'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=steven,initial=s'}
]
field_to_split = "Length"
split_using1 = ','
split_using2 = '='
b =[]
for i in d:
    s = i[field_to_split].split(split_using1)
    print(s)
    b.append(s)
    #print(s)
print(b)

我怎样才能做到这一点。。。你知道吗


Tags: offalsenumberdrivelengthautomaticinitialfirst
1条回答
网友
1楼 · 发布于 2024-05-15 09:05:19

使用简单的迭代。你知道吗

例如:

d = [
    {'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=prince,initial=p'},
    {'Driveline': 'Rear-wheel drive', 'Hybrid': 'False', 'Classification': 'Automatic,Transmission', 'Number_of_Forward_Gears': 6, 'Fuel_Type': 'Gasoline', 'Length': 'first=steven,initial=s'}
    ]

for i in d:
    for j in i['Length'].split(","):    #Split string by comma
        i.update(dict([j.split("=")]))  #Split string by eq sign and use dict() method to create a dictionary 

输出:

[{'Classification': 'Automatic,Transmission',
  'Driveline': 'Rear-wheel drive',
  'Fuel_Type': 'Gasoline',
  'Hybrid': 'False',
  'Length': 'first=prince,initial=p',
  'Number_of_Forward_Gears': 6,
  'first': 'prince',
  'initial': 'p'},
 {'Classification': 'Automatic,Transmission',
  'Driveline': 'Rear-wheel drive',
  'Fuel_Type': 'Gasoline',
  'Hybrid': 'False',
  'Length': 'first=steven,initial=s',
  'Number_of_Forward_Gears': 6,
  'first': 'steven',
  'initial': 's'}]

相关问题 更多 >