再帰(ネストされたリスト)をスキャンしようとしています。ネストされたリストがリストで停止すると、これはうまく動作します。 例(のpython 3):Pythonのネストされたリスト:再帰があまりに早く停止するようです。
ok = [1,2,3,4,[5,6]] works fine i.e. output is 1 2 3 4 5 6
nok = [1,2,3,4,[5,6],7] does not print the "7". i.e. output is 1 2 3 4 5 6
ネストされたリストを平らにするためのより良い方法はおそらくあります。私はここで欠けているもの、すなわち「7」はどこにあるのかを理解しようとしていますか?
def print_list (x):
for i in x:
if isinstance (i, list):
return (print_list(i))
else:
print (i)
def main():
a=[1,2,3,4,[5,6],7]
print_list (a)
if __name__ == "__main__":
main()
'return'文を削除するには、唯一のあなたはそれを削除するループを終了したくない場合は、return文は、forループを破る –
リスト要素を印刷する必要がある場合、それが動作するはずです。 –