Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで各サブリストの最初の要素を取得する


Pythonのリストには、その中に要素としてリストを含めることもできます。これらのネストされたリストは、サブリストと呼ばれます。この記事では、特定のリスト内の各サブリストの最初の要素のみを取得するという課題を解決します。

forループの使用

これは非常に単純なアプローチであり、サブリストをループして、サブリストのインデックス0にあるアイテムをフェッチします。以下に示すように、この目的のためにforループが使用されます。

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("First Items from sublists:\n")
for item in Alist:
   print((item[0]))

出力

上記のコードを実行すると、次の結果が得られます-

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
Mon
Tue
12

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(*Alist))[0]))

出力

上記のコードを実行すると、次の結果が得られます-

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
['Mon', 'Tue', 12]

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(0), Alist)))

出力

上記のコードを実行すると、次の結果が得られます-

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
['Mon', 'Tue', 12]

  1. Pythonでリストの最後から2番目の要素を取得するにはどうすればよいですか?

    リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後から2番目の要素が必要なので、インデックスとして-2を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-2]) 4

  2. Pythonでリストの最後の要素を取得するにはどうすればよいですか?

    リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後の要素が必要なので、インデックスとして-1を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-1]) 5