たとえば、次のようなネストされたリストがあります。
test = [[15, [7, [None], [11, [None], [13, [None], [None]]]], [None]], [20, [None], [None]]]
これから、ネストに含まれる整数のみを使用して別のリストを作成したかったのです。これはこれを返します:
[15, 7, 11, 13, 20]
私はこの再帰関数を作成して、達成する必要があることを実行しましたが、これが最善の方法ではないと思わずにはいられませんでした。それを行うためのよりPythonicまたは効率的な方法はありますか?
def nest_search(nest, hold=[]):
for item in nest:
if isinstance(item, int):
hold.append(item)
if isinstance(item, list):
nest_search(item, hold)
return hold
>>> print nest_search(test)
[15, 7, 11, 13, 20]