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
Si vous utilisez python 3.3+, remplacez
for _ in values(v): yield _
可用yield from values(v)
parIl semble qu'il ne puisse être que traversé