Maison > Questions et réponses > le corps du texte
Par exemple :
p={
'a':'aa',
'b':{
'b':'bb'
}
}
print(dict(p).values())
Le retour est :
dict_values(['aa', {'b': 'bb'}])
Ce que je veux, c'est aa et bb. Comment dois-je l'écrire ? Merci
巴扎黑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
Si vous utilisez python 3.3+, remplacez for _ in values(v): yield _
可用 yield from values(v)
par
phpcn_u15822017-05-18 10:56:30
Il semble qu'il ne puisse être que traversé
# 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)