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)