リストのネストされたリストから文を再帰的に出力しようとしています
を含むリストを取得したい
[「大きな悪い犬」、「大きなフワフワ猫」、「小さな青い幸せなポニー」、「小さなカエル」]
ここに私のコードがありますが、動作しません...
私は正しい道を進んでいますか、それとも目標を達成するために別の方法でデータを構造化する必要がありますか?
from pprint import pprint
dirs = [
{
'kw': 'big',
'childs': [
{
'kw': 'bad',
'childs': [
{
'kw': 'dog'
}
]
},
{
'kw': 'fluffy',
'childs': [
{
'kw': 'cat'
}
]
}
]
},
{
'kw': 'small',
'childs': [
{
'kw': 'blue',
'childs': [
{
'kw': 'happy',
'childs': [
{
'kw': 'pony'
}
]
}
]
},
{
'kw': 'frog'
}
]
},
]
def traverse(d, l):
kw = d.get('kw')
c = d.get('childs')
l.append(kw)
if c:
for cc in c:
l = traverse(cc, l)
return l
r = traverse(dirs[0], [])
pprint(r)