84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
예:
반환된 항목:
내가 원하는 것은 aa와 bb입니다. 어떻게 써야 할까요? 감사합니다
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)替换
for _ in values(v): yield _
yield from values(v)
貌似只能遍历
# 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)
如果使用python 3.3+,
for _ in values(v): yield _
可用yield from values(v)
替换貌似只能遍历