Pythonでの再帰について学び、割り当てを完了しました。そのうちの1つは、任意にネストされたリストのリスト内のすべての要素をカウントすることでした。このサイトを検索しましたが、見つかった回答はすべて再帰呼び出しを使用しているようです。再帰的に表現できるものはすべて反復的に表現でき、Pythonでは反復が好ましいと教えられてきたので、Python 2.6で再帰またはインポートされたモジュールなしで(学習演習として)これをどのように達成しますか?(ネストされたリスト自体は、その内容と同様に要素としてカウントされます。)例:
>>> def element_count(p):
... count = 0
... for entry in p:
... count += 1
... if isinstance(entry, list):
... count += element_count(entry)
... return count
>>> print element_count([1, [], 3])
3
>>> print element_count([1, [1, 2, [3, 4]]])
7
>>> print element_count([[[[[[[[1, 2, 3]]]]]]]])
10
これは反復を使用してどのように記述されますか?