movies = ["a1","a2","a3",["b1","b2",["c1"]]]
for a in movies:
if isinstance(a, list):
for b in a:
print(b)
else:
print(a)
小弟不才請教一下
a1
a2
a3
b1
b2
['c1']
為什麼,會印出a1,a2,a3......這種個別單一資料
到了['c1'] 卻變成完整的 清單內容
作者: LiloHuang (十年一刻) 2015-07-08 19:15:00
因為 ['c1'] 在第二層迴圈時,你沒有第三層迴圈去印它不考慮 stack 會炸掉,這個用遞迴簡單寫一下就可以了movies = ["a1","a2","a3",["b1","b2",["c1"]]]def foobar(m):for i in m:if isinstance(i, list): foobar(i)else: print ifoobar(movies)