Python erhält alle Werte von dict
滿天的星座
滿天的星座 2017-05-18 10:54:30
0
2
605

Zum Beispiel:

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

Zurückgegeben ist:

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

Was ich will, ist aa und bb. Wie soll ich es schreiben? Danke

滿天的星座
滿天的星座

Antworte allen(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)
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!