Rumah  >  Soal Jawab  >  teks badan

python mendapat semua nilai dict

Contohnya:

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

Dipulangkan ialah:

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

Apa yang saya mahukan ialah aa dan bb. Bagaimana saya harus menulisnya. Terima kasih

滿天的星座滿天的星座2711 hari yang lalu602

membalas semua(2)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-18 10:56:30

    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

    Jika menggunakan python 3.3+, gantikan for _ in values(v): yield _ 可用 yield from values(v) dengan

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-18 10:56:30

    Nampaknya hanya boleh dilalui

    # 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)

    balas
    0
  • Batalbalas