国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python如何地柜解析這種數(shù)據(jù)類型,data__key__hello = "world"

瀏覽:133日期:2022-07-13 08:38:24

問(wèn)題描述

比如有這么一個(gè)字典:

{ ’data__key_hello’: 'world', ’data__key_bar’: 'foo', ’data__a’: 'b', ’b’: ’c’,}

轉(zhuǎn)換之后變成

{ ’data’: {’key’: { ’hello’: ’world’, ’bar’: ’foo’},’a’: ’b’, }, ’b’: ’c’}

就是以下劃線進(jìn)行一個(gè)分割

問(wèn)題解答

回答1:

# coding: utf-8def parse_dict(obj={}): result = {} for key in obj:value = obj[key]parse_key_value(key, value, result) return resultdef parse_key_value(key, value, result={}): if not key:return head = ’’ while 1:head, _, tail = key.partition(’_’) if head: breakkey = tail if head not in result:if tail: result[head] = {} else: result[head] = value return parse_key_value(tail, value, result[head])obj = { ’data__key_hello’: 'world', ’data__key_bar’: 'foo', ’data__a’: 'b', ’b’: ’c’,}print parse_dict(obj)回答2:

湊合著用吧

d = { ’data__key_hello’: 'world', ’data__key_bar’: 'foo', ’data__a’: 'b', ’b’: ’c’,}n = {}for k, v in d.items(): keys = k.replace(’__’, ’_’).split(’_’) child = n for i, key in enumerate(keys):child = child.setdefault(key, {} if i < len(keys) - 1 else v)print n

標(biāo)簽: Python 編程
主站蜘蛛池模板: 建水县| 盐亭县| 保靖县| 望奎县| 大埔县| 隆回县| 尖扎县| 即墨市| 城市| 来安县| 那坡县| 洞头县| 江口县| 蒲城县| 化隆| 永兴县| 湖北省| 都安| 宜州市| 温泉县| 三台县| 咸阳市| 巴林右旗| 陈巴尔虎旗| 呼伦贝尔市| 神农架林区| 浦县| 贵德县| 应用必备| 定安县| 大余县| 忻城县| 武义县| 金川县| 达州市| 东台市| 大厂| 江山市| 四川省| 思茅市| 洛阳市|