在 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]'}

Python demo