python取得dict所有value
滿天的星座
滿天的星座 2017-05-18 10:54:30
0
2
638

如:

p={
    'a':'aa',
    'b':{
    'b':'bb'
    }
}
print(dict(p).values())

回傳的是:

dict_values(['aa', {'b': 'bb'}])

而想要的是aa和bb。該怎麼寫,謝謝了

滿天的星座
滿天的星座

全部回覆(2)
巴扎黑
def values(d):
    for v in d.values():
        if isinstance(v, dict):
            for _ in values(v): yield _
        else:
            yield v

data = values({1:1,2:{2:2,3:{3:3,4:4}}})

for v in data:
    print(v)

# 1 2 3 4

如果使用python 3.3+,for _ in values(v): yield _ 可用 yield from values(v) 替換

phpcn_u1582

貌似只能遍歷

# coding: utf-8

p={
    'a':'aa',
    'b':{
        'b':'bb',
        'c': {
            'c': 'cc',
            'd': {
                'd': 'dd'
            }
        }
    }
}

def f(d):
    nl = []
    for _ in d.values():
        nl += f(_) if isinstance(_, dict) else [_]
    return nl

print f(p)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板