我列出的元組的嵌套列表看起來像這樣(元組等):Python:將列表元組的嵌套列表轉換爲字典?
[(' person',
[(('surname', u'Doe', True),),
(('name', u'John', False),),
('contact',
[(('email', u'[email protected]', True),),
(('phone', u'', False),),
(('fax', u'+0987654321', False),)]),
('connection',
[(('company', u'ibcn', True),),
('contact',
[(('email', u'[email protected]', True),),
(('address', u'main street 0', False),),
(('city', u'pythonville', False),),
(('fax', u'+0987654321', False),)])])])]
因爲誰也不知道名單也不怎麼深內的(雙)元組既不數量的方式嵌套走。
我想將其轉換爲一個嵌套的詞典(詞典),消除了布爾值,像這樣:
{'person': {'name': 'John', 'surname': 'Doe',
'contact': {'phone': '', 'email': '[email protected]','fax': '+0987654321',
'connection': {'company name': 'ibcn', 'contact':{'phone': '+2345678901',
'email': '[email protected]', 'address': 'main street 0'
'city': 'pythonville', 'fax': +0987654321'
}}}}}
所有我有,到目前爲止,是可以打印嵌套結構的遞歸方法在每行的方式:
def tuple2dict(_tuple):
for item in _tuple:
if type(item) == StringType or type(item) == UnicodeType:
print item
elif type(item) == BooleanType:
pass
else:
tuple2dict(item)
,但是,我不知道我是在正確的軌道上......
編輯: 我已經編輯了原來的結構,因爲它錯過了一個逗號。
你的元組壞了... –
你說得對,我修好了。 – katamayros
nope仍然打破......你錯過了一個逗號,我假設 –