はじめに
Python では、リストには他のリストを要素として含めることができます。時々、リストをフラット化する必要があります。これは、ネストされたリストを元のリストのすべての要素を含む単一のリストに変換することを意味します。これを行う 1 つの方法は、スプレッド演算子を使用することです。このチャレンジでは、スプレッド演算子を使用してリストをフラット化する関数を実装するよう求められます。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Python では、リストには他のリストを要素として含めることができます。時々、リストをフラット化する必要があります。これは、ネストされたリストを元のリストのすべての要素を含む単一のリストに変換することを意味します。これを行う 1 つの方法は、スプレッド演算子を使用することです。このチャレンジでは、スプレッド演算子を使用してリストをフラット化する関数を実装するよう求められます。
spread(arg)
という名前の関数を作成します。この関数は、引数としてリストを受け取り、フラット化された元のリストのすべての要素を含む新しいリストを返します。元のリストの要素がそれ自体がリストである場合、その要素は個別に新しいリストに追加されます。この関数は元のリストを変更してはなりません。
この関数を実装するには、元のリストの要素をループし、スプレッド演算子を使用して要素を新しいリストに追加する必要があります。要素がリストである場合、その要素を新しいリストに追加するために extend()
メソッドを使用します。要素がリストでない場合、それを新しいリストに追加するために append()
メソッドを使用します。
def spread(arg):
ret = []
for i in arg:
ret.extend(i) if isinstance(i, list) else ret.append(i)
return ret
spread([1, 2, 3, [4, 5, 6], [7], 8, 9]) ## [1, 2, 3, 4, 5, 6, 7, 8, 9]
このチャレンジでは、Python でリストをフラット化するためにスプレッド演算子をどのように使用するかを学びました。また、引数としてリストを受け取り、元のリストのすべての要素を含むフラット化された新しいリストを返す関数を実装しました。これは、Python のネストされたリストを扱う際に知っておくのに役立つ技術です。