Python中的字典展平程序

Python中的字典展平程序,python,dictionary,Python,Dictionary,如何使用递归展平此字典,以便输出如下: d2={'a':'b', 'c':['d',{'e':'f'}], 'g':['h','i']} 另一个版本: res=['a','b','c','d','e','f','g','h','i'] 印刷品: d2={'a':'b', 'c':['d',{'e':'f'}], 'g':['h','i']} def flatten(d): if isinstance(d, dict): for k, v in d.items():

如何使用递归展平此字典,以便输出如下:

d2={'a':'b', 'c':['d',{'e':'f'}], 'g':['h','i']}
另一个版本:

res=['a','b','c','d','e','f','g','h','i']
印刷品:

d2={'a':'b', 'c':['d',{'e':'f'}], 'g':['h','i']}

def flatten(d):
    if isinstance(d, dict):
        for k, v in d.items():
            yield k
            yield from flatten(v)
    elif isinstance(d, list):
        for v in d:
            yield from flatten(v)
    else:
        yield d

out = [*flatten(d2)]
print(out)

您尝试了什么?到目前为止您尝试了什么>
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']