0
扁平化功能
由於功能需要一些改進:提高蟒蛇
def flatten(d, parent_key=''):
items = []
for k, v in d.items():
try:
items.extend(flatten(v, '%s%s.' % (parent_key, k)).items())
except AttributeError:
items.append(('%s%s' % (parent_key, k), v))
return dict(items)
我想修改上面的功能。
,它也變得平坦列表:
{'d': [1, 2, 3]}
爲了這樣的事情:
{'d[0]': 1, 'd[1]': 3, 'd[2]': 3}
編輯: 此代碼對我來說,但它不是第一個任何想法,圓滑改進?
def flatten_dict(d):
def items():
for key, value in d.items():
if isinstance(value, dict):
for subkey, subvalue in flatten_dict(value).items():
yield key + "." + subkey, subvalue
elif isinstance(value, list):
for index, val in enumerate(value):
yield key + "[" + str(index) + "]" , value[index]
else:
yield key, value
return dict(items())
我將如何落實到功能? – Skeec
問題是我不知道事先的關鍵:■ – Skeec
不工作對我來說 類型錯誤:「詮釋」對象不是可迭代 – Skeec