リストをフラット化する

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Python では、リストには他のリストを要素として含めることができます。これをネストされたリストと呼びます。場合によっては、ネストされたリストを単一のリストにフラット化する必要があるかもしれません。このチャレンジでは、一度だけリストのリストをフラット化する関数を書くよう求められます。

リストをフラット化する

flatten(lst) という名前の Python 関数を書きましょう。この関数は、リストのリストを引数として受け取り、フラット化されたリストを返します。関数は一度だけリストをフラット化する必要があります。つまり、元のリスト内のネストされたリストはフラット化されますが、それらのネストされたリスト内のネストされたリストはそのままです。

この問題を解くには、サブリストから各値を順に抽出するためのリスト内包表記を使用できます。

def flatten(lst):
  return [x for y in lst for x in y]
flatten([[1, 2, 3, 4], [5, 6, 7, 8]]) ## [1, 2, 3, 4, 5, 6, 7, 8]

まとめ

このチャレンジでは、Python 関数を使ってリストのリストを一度だけフラット化する方法を学びました。サブリストから各値を順に抽出するためにリスト内包表記を使用しました。Python でネストされたリストを扱う際に役立つスキルです。