logo

Python リスト

Python リスト 他の言語 (C++ の Vector や Java の ArrayList) で宣言された、動的にサイズが変更される配列とまったく同じです。簡単に言うと、リストは [ ] で囲まれ、カンマで区切られたものの集合です。

配列リストのメソッド

リストは、データのコレクションを格納するために使用されるシーケンス データ型です。 タプル そして 他のタイプのシーケンス データ型です。

Pythonでのリストの例

ここではPythonを作成しています リスト []を使用します。



パイソン
Var = ['Geeks', 'for', 'Geeks'] print(Var)>

出力:

['Geeks', 'for', 'Geeks']>

リストは、Python 言語の不可欠な部分である最も単純なコンテナです。リストは常に均一である必要はないため、リストは最も強力なツールになります。 パイソン 。 1 つのリストには、整数、文字列、オブジェクトなどのデータ型が含まれる場合があります。リストは変更可能であるため、作成後でも変更できます。

Python でリストを作成する

Python のリストは、角括弧 [] 内にシーケンスを配置するだけで作成できます。とは異なり セット 、リストにはリストの作成に組み込み関数は必要ありません。

注記: Set とは異なり、リストには変更可能な要素が含まれる場合があります。

例 1: Python でリストを作成する

パイソン
# Python program to demonstrate # Creation of List # Creating a List List = [] print('Blank List: ') print(List) # Creating a List of numbers List = [10, 20, 14] print('
List of numbers: ') print(List) # Creating a List of strings and accessing # using index List = ['Geeks', 'For', 'Geeks'] print('
List Items: ') print(List[0]) print(List[2])>

出力
Blank List: [] List of numbers: [10, 20, 14] List Items: Geeks Geeks>

リスト作成の複雑さ

時間計算量: ○(1)

空間の複雑さ: の上)

例 2: 複数の異なる要素または重複した要素を含むリストの作成

リストには、個別の位置を持つ重複した値が含まれる場合があるため、リストの作成時に、複数の個別の値または重複した値をシーケンスとして渡すことができます。

パイソン
# Creating a List with # the use of Numbers # (Having duplicate values) List = [1, 2, 4, 4, 3, 3, 3, 6, 5] print('
List with the use of Numbers: ') print(List) # Creating a List with # mixed type of values # (Having numbers and strings) List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] print('
List with the use of Mixed Values: ') print(List)>

出力
List with the use of Numbers: [1, 2, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']>

リストからの要素へのアクセス

リスト項目にアクセスするには、インデックス番号を参照します。リスト内の項目にアクセスするには、インデックス演算子 [ ] を使用します。インデックスは整数である必要があります。ネストされたリストには、ネストされたインデックスを使用してアクセスします。

例 1: リストから要素にアクセスする

パイソン
# Python program to demonstrate # accessing of element from list # Creating a List with # the use of multiple values List = ['Geeks', 'For', 'Geeks'] # accessing a element from the # list using index number print('Accessing a element from the list') print(List[0]) print(List[2])>

出力
Accessing a element from the list Geeks Geeks>

例 2: 多次元リストからの要素へのアクセス

パイソン
# Creating a Multi-Dimensional List # (By Nesting a list inside a List) List = [['Geeks', 'For'], ['Geeks']] # accessing an element from the # Multi-Dimensional List using # index number print('Accessing a element from a Multi-Dimensional list') print(List[0][1]) print(List[1][0])>

出力
Accessing a element from a Multi-Dimensional list For Geeks>

ネガティブインデックス付け

Python では、負のシーケンス インデックスはリストの末尾からの位置を表します。 List[len(List)-3] のようにオフセットを計算する代わりに、List[-3] と記述するだけで十分です。負のインデックス付けは最後から開始することを意味し、-1 は最後の項目を指し、-2 は最後から 2 番目の項目を指します。

パイソン
List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] # accessing an element using # negative indexing print('Accessing element using negative indexing') # print the last element of list print(List[-1]) # print the third last element of list print(List[-3])>

出力
Accessing element using negative indexing Geeks For>

リスト内の要素にアクセスするための複雑さ:

時間計算量: ○(1)

空間の複雑さ: ○(1)

Python リストのサイズを取得する

パイソン のみ() リストの長さを取得するために使用されます。

パイソン
# Creating a List List1 = [] print(len(List1)) # Creating a List of numbers List2 = [10, 20, 14] print(len(List2))>

出力
0 3>

Python リストの入力を取得する

要素のリストの入力を文字列、整数、浮動小数点数などとして受け取ることができます。ただし、デフォルトは文字列です。

例 1:

パイソン
# Python program to take space # separated input as a string # split and store it to a list # and print the string list # input the list as string string = input('Enter elements (Space-Separated): ') # split the strings and store it to a list lst = string.split() print('The list is:', lst) # printing the list>

出力:

Enter elements: GEEKS FOR GEEKS The list is: ['GEEKS', 'FOR', 'GEEKS']>

例 2:

パイソン
# input size of the list n = int(input('Enter the size of list : ')) # store integers in a list using map, # split and strip functions lst = list(map(int, input('Enter the integer elements:').strip().split()))[:n] # printing the list print('The list is:', lst)>

出力:

Enter the size of list : 4 Enter the integer elements: 6 3 9 10 The list is: [6, 3, 9, 10]>

さらに詳しく知りたい場合は、を参照してください これ

Python リストへの要素の追加

方法 1: append() メソッドを使用する

組み込みのメソッドを使用して要素をリストに追加できます。 追加() 関数。 append() メソッドを使用してリストに追加できる要素は一度に 1 つだけです。append() メソッドで複数の要素を追加するには、ループが使用されます。タプルは不変であるため、append メソッドを使用してリストにタプルを追加することもできます。 Set とは異なり、List は append() メソッドを使用して既存のリストに追加することもできます。

パイソン
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [] print('Initial blank List: ') print(List) # Addition of Elements # in the List List.append(1) List.append(2) List.append(4) print('
List after Addition of Three elements: ') print(List) # Adding elements to the List # using Iterator for i in range(1, 4): List.append(i) print('
List after Addition of elements from 1-3: ') print(List) # Adding Tuples to the List List.append((5, 6)) print('
List after Addition of a Tuple: ') print(List) # Addition of List to a List List2 = ['For', 'Geeks'] List.append(List2) print('
List after Addition of a List: ') print(List)>

出力
Initial blank List: [] List after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, (5, 6)] List after Addition of a List: [1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]>

Lists(append() メソッド) に要素を追加する場合の複雑さ:

時間計算量: ○(1)

S ペースの複雑さ: ○(1)

方法 2: insert() メソッドを使用する

append() メソッドは、リストの最後に要素を追加する場合、または目的の位置に要素を追加する場合にのみ機能します。 入れる() という方法が使われます。引数を 1 つだけ取る append() とは異なり、insert() メソッドには 2 つの引数 (位置、値) が必要です。

パイソン
# Python program to demonstrate  # Addition of elements in a List # Creating a List List = [1,2,3,4] print('Initial List: ') print(List) # Addition of Element at  # specific Position # (using Insert Method) List.insert(3, 12) List.insert(0, 'Geeks') print('
List after performing Insert Operation: ') print(List)>

出力
Initial List: [1, 2, 3, 4] List after performing Insert Operation: ['Geeks', 1, 2, 3, 12, 4]>

Lists (insert() メソッド) に要素を追加する場合の複雑さ:

時間計算量: の上)

空間の複雑さ: ○(1)

方法 3: extend() メソッドを使用する

append() メソッドと insert() メソッドの他に、要素を追加するメソッドがもう 1 つあります。 伸ばす() , このメソッドは、リストの最後に複数の要素を同時に追加するために使用されます。

注記: append() と extend() メソッドは最後に要素を追加することしかできません。

パイソン
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [1, 2, 3, 4] print('Initial List: ') print(List) # Addition of multiple elements # to the List at the end # (using Extend Method) List.extend([8, 'Geeks', 'Always']) print('
List after performing Extend Operation: ') print(List)>

出力
Initial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Geeks', 'Always']>

Lists (extend() メソッド) に要素を追加する場合の複雑さ:

時間計算量: の上)

空間の複雑さ: ○(1)

リストを反転する

方法 1: リストを反転するには、 Python の reverse() メソッド

パイソン
# Reversing a list mylist = [1, 2, 3, 4, 5, 'Geek', 'Python'] mylist.reverse() print(mylist)>

出力
['Python', 'Geek', 5, 4, 3, 2, 1]>

方法 2: 反転() 関数:

reversed() 関数は逆反復子を返します。これは list() 関数を使用してリストに変換できます。

パイソン
my_list = [1, 2, 3, 4, 5] reversed_list = list(reversed(my_list)) print(reversed_list)>

出力
[5, 4, 3, 2, 1]>

リストからの要素の削除

方法 1:remove() メソッドを使用する

組み込みのメソッドを使用して要素をリストから削除できます。 取り除く() 関数を使用しますが、要素がリストに存在しない場合はエラーが発生します。 Remove() メソッドは一度に 1 つの要素のみを削除します。要素の範囲を削除するには、反復子が使用されます。 Remove() メソッドは、指定された項目を削除します。

注記: List の Remove メソッドは、検索された要素の最初の出現のみを削除します。

例 1:

パイソン
# Python program to demonstrate # Removal of elements in a List # Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] print('Initial List: ') print(List) # Removing elements from List # using Remove() method List.remove(5) List.remove(6) print('
List after Removal of two elements: ') print(List)>

出力
Initial List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] List after Removal of two elements: [1, 2, 3, 4, 7, 8, 9, 10, 11, 12]>

例 2:

パイソン
# Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Removing elements from List # using iterator method for i in range(1, 5): List.remove(i) print('
List after Removing a range of elements: ') print(List)>

出力
List after Removing a range of elements: [5, 6, 7, 8, 9, 10, 11, 12]>

リスト内の要素を削除するための複雑さ (remove() メソッド):

時間計算量: の上)

空間の複雑さ: ○(1)

方法 2: Pop() メソッドを使用する

ポップ()関数 リストから要素を削除して返すためにも使用できますが、デフォルトではリストの最後の要素のみが削除されます。リストの特定の位置から要素を削除するには、要素のインデックスが引数として渡されます。 Pop() メソッド。

パイソン
List = [1, 2, 3, 4, 5] # Removing element from the # Set using the pop() method List.pop() print('
List after popping an element: ') print(List) # Removing element at a # specific location from the # Set using the pop() method List.pop(2) print('
List after popping a specific element: ') print(List)>

出力
List after popping an element: [1, 2, 3, 4] List after popping a specific element: [1, 2, 4]>

Lists (pop() メソッド) 内の要素を削除するための複雑さ:

時間計算量: O(1)/O(n) (最後の要素を削除するには O(1)、最初と中間の要素を削除するには O(n))

空間の複雑さ: ○(1)

リストのスライス

スライスを使用して部分文字列とサブリストを取得できます。 Python List では、すべての要素を含むリスト全体を出力する方法が複数ありますが、リストから特定の範囲の要素を出力するには、 スライス操作

スライス操作はコロン(:)を使用してリストに対して実行されます。

要素を先頭から範囲まで出力するには、次を使用します。

[: 索引]

最終用途から要素を印刷するには:

[:-索引]

特定のインデックスから最後まで要素を出力するには

[索引:]

リスト全体を逆の順序で印刷するには、次を使用します。

[::-1]

注記 - List の要素を後端から出力するには、Negative Indexes を使用します。

Python-リスト-スライシング

リストのスライスについて理解する:

  • pr[0] は最初の項目 2 にアクセスします。
  • pr[-4] は、末尾から 4 番目の項目 5 にアクセスします。
  • pr[2:] は、3 番目から最後までの項目のリスト [5, 7, 11, 13] にアクセスします。
  • pr[:4] は、1 番目から 4 番目までの項目のリスト [2, 3, 5, 7] にアクセスします。
  • pr[2:4] は、3 番目から 5 番目までの項目のリスト [5, 7] にアクセスします。
  • pr[1::2] は、2 番目の項目から開始して [3, 7, 13] の代替項目にアクセスします。
パイソン
# Python program to demonstrate # Removal of elements in a List # Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements of a range # using Slice operation Sliced_List = List[3:8] print('
Slicing elements in a range 3-8: ') print(Sliced_List) # Print elements from a # pre-defined point to end Sliced_List = List[5:] print('
Elements sliced from 5th ' 'element till the end: ') print(Sliced_List) # Printing elements from # beginning till end Sliced_List = List[:] print('
Printing all elements using slice operation: ') print(Sliced_List)>

出力
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Slicing elements in a range 3-8: ['K', 'S', 'F', 'O', 'R'] Elements sliced from 5th element till the end: ['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Printing all elements using slice operation: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']>

負のインデックスのリストのスライス

パイソン
# Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements from beginning # to a pre-defined point using Slice Sliced_List = List[:-6] print('
Elements sliced till 6th element from last: ') print(Sliced_List) # Print elements of a range # using negative index List slicing Sliced_List = List[-6:-1] print('
Elements sliced from index -6 to -1') print(Sliced_List) # Printing elements in reverse # using Slice operation Sliced_List = List[::-1] print('
Printing List in reverse: ') print(Sliced_List)>

出力
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Elements sliced till 6th element from last: ['G', 'E', 'E', 'K', 'S', 'F', 'O'] Elements sliced from index -6 to -1 ['R', 'G', 'E', 'E', 'K'] Printing List in reverse: ['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']>

リストの内包理解

Python のリスト内包表記 は、タプル、文字列、配列、リストなどの他の反復可能オブジェクトから新しいリストを作成するために使用されます。リスト内包表記は、式を含む括弧で構成され、各要素を反復する for ループとともに各要素に対して実行されます。

構文:

newList = [oldList の要素の式 (要素) if 条件]

例:

パイソン
# Python program to demonstrate list # comprehension in Python # below list contains square of all # odd numbers from range 1 to 10 odd_square = [x ** 2 for x in range(1, 11) if x % 2 == 1] print(odd_square)>

出力
[1, 9, 25, 49, 81]>

理解を深めるために、上記のコードは次のようになります。

パイソン
# for understanding, above generation is same as, odd_square = [] for x in range(1, 11): if x % 2 == 1: odd_square.append(x**2) print(odd_square)>

出力
[1, 9, 25, 49, 81]>

リスト内包表記の詳細については、以下の記事を参照してください。

Python リストの基本的な例

  • リスト内の最初と最後の要素を交換する Python プログラム
  • リスト内の 2 つの要素を交換する Python プログラム
  • Python – 文字列リスト内の要素を交換する
  • パイソン |リストの長さを調べる方法
  • Python では最大 2 つの数値
  • Python では少なくとも 2 つの数値

基本的なリスト操作を練習するには、この記事をお読みください。 Python プログラム一覧

リストメソッド

関数説明
追加() リストの最後に要素を追加します
伸ばす() リストのすべての要素を別のリストに追加する
入れる() 定義されたインデックスに項目を挿入します
取り除く() リストから項目を削除します
クリア() リストからすべての項目を削除します
索引() 最初に一致した項目のインデックスを返します
カウント() 引数として渡された項目の数を返します。
選別() リスト内の項目を昇順に並べ替えます
逆行する() リスト内の項目の順序を逆にする
コピー() リストのコピーを返します
ポップ() 指定されたインデックスにある項目を削除して返します。インデックスが指定されていない場合は、最後の項目を削除して返します。

詳細については、この記事を参照してください – Python リストメソッド

上記の操作により、リスト自体が変更されます。

リスト付きの組み込み関数

関数説明
減らす() 引数に渡された特定の関数をすべてのリスト要素に適用すると、中間結果が格納され、最終的な合計値のみが返されます。
和() リスト内の数値を合計します
言葉() 指定された Unicode 文字の Unicode コード ポイントを表す整数を返します。
cmp() 最初のリストが 2 番目のリストより大きい場合、この関数は 1 を返します。
最大() 指定されたリストの最大の要素を返します
分() 指定されたリストの最小要素を返します
全て() すべての要素が true の場合、またはリストが空の場合は true を返します。
どれでも() リストのいずれかの要素が true の場合、true を返します。リストが空の場合は false を返します
のみ() リストの長さまたはリストのサイズを返します。
列挙() リストの列挙オブジェクトを返します。
蓄積() 引数に渡された特定の関数をすべてのリスト要素に適用すると、中間結果を含むリストが返されます。
フィルター() リストの各要素が true かどうかをテストします
地図() 指定された関数を指定された反復可能オブジェクトの各項目に適用した後の結果のリストを返します。
ラムダ() この関数には任意の数の引数を指定できますが、評価されて返される式は 1 つだけです。

リストの最近の記事に目を通してください

役立つリンク:

  • Pythonの最近の記事一覧
  • Python チュートリアル
  • 複数の選択肢の質問
  • Python カテゴリのすべての記事