Pythonで各サブリストの最後の要素を取得する
Pythonのリストには、その中に要素としてリストを含めることもできます。これらのネストされたリストは、サブリストと呼ばれます。この記事では、特定のリスト内の各サブリストの最後の要素のみを取得するという課題を解決します。
forループの使用
これは非常に単純なアプローチであり、サブリストをループして、サブリストのインデックス-1にあるアイテムをフェッチします。以下に示すように、この目的のためにforループが使用されます。
例
Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]] print("Given List:\n",Alist) print("Lastst Items from sublists:\n") for item in Alist: print((item[-1]))
出力
上記のコードを実行すると、次の結果が得られます-
Given List: [['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]] First Items from sublists: 1 Fri 7
zipと*の使用
*を使用すると、サブリストを解凍して、サブリストの個々の要素にアクセスできます。したがって、この場合、*と逆リストを使用して、各要素からインデックス0の要素にアクセスします。次に、最終的に結果をzipして、サブリストから最初の要素のリストを取得します。
例
Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]] print("Given List:\n",Alist) print("\n First Items from sublists:\n") print(list(list(zip(*map(reversed,Alist)))[0]))
出力
上記のコードを実行すると、次の結果が得られます-
Given List: [['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]] First Items from sublists: [1, 'Fri', 7]
itemgetterの使用
itemgetter(i)は、dictionary、list、tupleなどの反復可能なオブジェクトを入力として受け取り、そこからi番目の要素をフェッチするcallableを構築します。したがって、このメソッドを使用して、次のようにmap関数を使用してリストの最初のアイテムを取得できます。
例
from operator import itemgetter Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]] print("Given List:\n",Alist) print("\n First Items from sublists:\n") print(list(map(itemgetter(-1), Alist)))
出力
上記のコードを実行すると、次の結果が得られます-
Given List: [['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]] First Items from sublists: [1, 'Fri', 7]
-
Pythonの整数リストの各要素にKを追加する
データ分析では、新しいシナリオの結果を判断するために、Pythonリストの各要素に値を追加する必要がある場合があります。これは、データセットがさまざまな値でどのように動作するかについて複数のシナリオをテストするのに役立ちます。したがって、それらのシナリオを処理できるモデルまたはアルゴリズムを作成します。この記事では、この要件をどのように処理できるかを説明します。 リスト内包表記の使用 リスト内包表記は、リストの各要素をループするリストを処理する通常の方法です。以下の例では、単純なforループを使用してリストの各要素に同じ番号を追加します。 例 orig_list = [5, 6, 7, 4,
-
Pythonでリストの最後から2番目の要素を取得するにはどうすればよいですか?
リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後から2番目の要素が必要なので、インデックスとして-2を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-2]) 4