Flattenとは
「入れ子になっているリスト」を「入れ子になっていないリスト」にすることです。
こんな感じです。
[1,[2,3]] → [1,2,3] [1,[2,[3]]] → [1,2,3] [1,[2,{'foo': 3}]] → [1,2,{'foo':3}] [1,[2,'foo']] → [1,2,'foo']
PythonでFlatten
ほい。
flatten.py
def flatten(xs): result = [] for x in xs: if isinstance(x, collections.Iterable) and not isinstance(x, dict)and not isinstance(x, str): result.extend(flatten(x)) else: result.append(x) return result
テストしてみます。
>>> from flatten import flatten as f >>> f([1,[2,3]]) [1, 2, 3] >>> f([1,[2,[3]]]) [1, 2, 3] >>> f([1,[2,{'foo':3}]]) [1, 2, {'foo': 3}] >>> f([1,[2,'foo']]) [1, 2, 'foo']
できました!!
本日は「PythonでFlatten」をご紹介しました。良い記事だと思っていただいた方は、以下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリックをお願いします。 それではまたー!