在 Python 中拆分一个键值对
split a key-value pair in Python
我有一个字典如下:
{
"age": "76",
"Bank": "98310",
"Stage": "final",
"idnr": "4578",
"last number + Value": "[345:K]"}
我正在尝试通过拆分最后一个键值对创建一个新键('total data')来调整字典,它应该如下所示:
"Total data":¨[
{
"last number": "345"
"Value": "K"
}]
}
有谁知道是否有基于':'和'+'的拆分函数或for循环来完成这个?
提前致谢。
完成此操作的一个选项可能是从 dict 中获取最后一个键,并在 +
上使用 split 作为键,在 :
上使用 split 作为值删除外部方括号,假设格式为数据总是一样的。
如果你想Total data
包含一个列表,你可以将生成的字典包装在[]
中
from pprint import pprint
d = {
"age": "76",
"Bank": "98310",
"Stage": "final",
"idnr": "4578",
"last number + Value": "[345:K]"
}
last = list(d.keys())[-1]
d["Total data"] = dict(
zip(
last.strip().split('+'),
d[last].strip("[]").split(':')
)
)
pprint(d)
输出(使用 Python 3.9.4 测试)
{'Bank': '98310',
'Stage': 'final',
'Total data': {' Value': 'K', 'last number ': '345'},
'age': '76',
'idnr': '4578',
'last number + Value': '[345:K]'}
我有一个字典如下:
{
"age": "76",
"Bank": "98310",
"Stage": "final",
"idnr": "4578",
"last number + Value": "[345:K]"}
我正在尝试通过拆分最后一个键值对创建一个新键('total data')来调整字典,它应该如下所示:
"Total data":¨[
{
"last number": "345"
"Value": "K"
}]
}
有谁知道是否有基于':'和'+'的拆分函数或for循环来完成这个? 提前致谢。
完成此操作的一个选项可能是从 dict 中获取最后一个键,并在 +
上使用 split 作为键,在 :
上使用 split 作为值删除外部方括号,假设格式为数据总是一样的。
如果你想Total data
包含一个列表,你可以将生成的字典包装在[]
from pprint import pprint
d = {
"age": "76",
"Bank": "98310",
"Stage": "final",
"idnr": "4578",
"last number + Value": "[345:K]"
}
last = list(d.keys())[-1]
d["Total data"] = dict(
zip(
last.strip().split('+'),
d[last].strip("[]").split(':')
)
)
pprint(d)
输出(使用 Python 3.9.4 测试)
{'Bank': '98310',
'Stage': 'final',
'Total data': {' Value': 'K', 'last number ': '345'},
'age': '76',
'idnr': '4578',
'last number + Value': '[345:K]'}