python list create
このPythonリストのチュートリアルでは、Pythonリストに要素を作成、アクセス、スライス、追加/削除する方法を探ります。これは、間違いなく最も有用なデータ型の1つです。
Pythonには、以下に示す4つのコレクションデータ型が含まれています。
- リスト
- セットする
- 辞書
- タプル
このチュートリアルでは、リストとそのさまざまな操作について詳しく説明します。 Pythonでは、リストはデータ構造であるか、複数のデータを一度に格納するために使用される配列のようなものです。
Java、C、C ++などの他のプログラミング言語の経験がある場合は、配列の概念に精通しているはずです。リストは配列とほとんど同じです。
学習内容:
Pythonリストとは
Pythonでは、リストは データ・タイプ 、角括弧(())内にさまざまなオブジェクト(アイテム)のコレクションを格納します。リスト内の各項目は、インデックス0の最初の項目でコンマ(、)で区切られます。
注意 :今後、このチュートリアルのすべての例は、特に明記されていない限り、Pythonシェルから直接実行されます。
以下は、5つの項目を含むリストの例です。
>>> l = ('what','who','where','when','how') >>>l ('what','who','where','when','how')
上記の例では、リストに次の情報が含まれていることがわかります。 文字列オブジェクト アイテムとして、各アイテムはコンマで区切られます。
Pythonリストの特徴
リスト内のアイテムを操作する方法を見る前に、Pythonリストを支持するいくつかの特徴を見てみましょう。
Pythonリストはコンテナシーケンスです
フラットシーケンスとは異なり( ストリング 、 array.array 、 memoryview 、など)1つのタイプのアイテムしか保持できない場合、リストは コンテナシーケンス あるタイプのアイテムだけでなく、異なるタイプのアイテムも保持できます。
1つのタイプのアイテムの例
Pythonシェルを開いて、数値のリストを定義しましょう。
>>> numbers = ('one','two','three','four','five') >>> numbers ('one','two','three','four','five')
上記の例は、同じタイプのアイテムのリストを示しています。この場合はタイプです。 string(str) 。
さまざまなタイプのアイテムの例
Pythonシェルを開いて、数値リストの別のバージョンを定義しましょう。
>>> numbers = ('one',2,3,'four',5.0) >>> numbers ('one',2,3,'four',5.0)
上記の例は、さまざまなタイプのアイテムのリストを示しています。タイプは ストリング 、 整数、 そして 浮く 。
// a sketch showing the list of items and their types as annotation
Pythonリストには、次のようなすべてのオブジェクトを含めることもできます。 機能 、 クラス 、 モジュール 、 リスト 、 タプル、 とはるかに。
エディタを開き、以下のコードを貼り付けます。
def test(): '''This is a function''' print('This is a test') if __name__ == '__main__': print(test) # return instance object of function 'test' instance = type(test) print(instance) # create a list of colors colors = ('red','blue','green') print(colors) # create a list holding all the various data types defined above, including boolean. my_list = (test, instance, colors, False) print(my_list)
出力
Pythonリストは順序付けられたシーケンスです
Pythonリストは、オブジェクトの順序付けられたコレクションです。リスト内の各アイテムの位置は非常に重要です。実際、アイテムが配置される順序が同じでない場合、同じアイテムを持つ2つのリストは同じではありません。
>>> ('a','b','c','d') == ('a','c','b','d') False
Pythonリストのこの特性により、インデックスとスライスによってアイテムにアクセスできます。 (これについては後で詳しく説明します)。
Pythonリストは可変シーケンスです
Pythonリストは変更可能です。しかし、可変オブジェクトとは何ですか?これは、作成後に変更できる単なるオブジェクトです。 例 他の可変シーケンスの 辞書 、 array.array 、 collections.deque 。
なぜ変更可能ですか?リストのようなシーケンスは複雑な操作に使用されるため、次のことができるはずです。 変化する 、 成長する 、 シュリンク 、 更新など 。これは可変性でのみ可能です。可変性により、リストを適切に変更することもできます(これについては詳しく説明します)。
以下の例でリストの可変性を確認しましょう。
エディターを開いてコードを貼り付けるだけです。
def veryfiy_mutability(): # create a list l = (9,0,4,3,5) print('Display before modifying') print('List: {}
Id: {}'.format(l,id(l))) # modify the list by replacing the item at # index 3 to the item -2. l(3) = -2 print('Display after modifying') print('List: {}
Id: {}'.format(l,id(l))) if __name__ == '__main__': veryfiy_mutability()
出力
上記の出力から、変更前と変更後のリストが異なることがわかります。しかし Id 値は同じです。ザ・ Id ここでの値は、Pythonで取得されたメモリ内のオブジェクトのアドレスを表します id() 。
これは、リストの内容が変更されても、それが同じオブジェクトであることを示しています。したがって、これは私たちの定義を満たします。 作成後に変更できる単なるオブジェクトです 「」
注意 :上記の例では、インデックス付け(これについて詳しく説明します)を使用してリストを変更しました。
Pythonリストの操作
Pythonリストでは、空が私たちの限界です。次のようなリストでできることは無数にあります 追加 、 削除 、 インデックス作成 、 スライス 、 メンバーシップの確認 、およびはるかに。また、Pythonには、リストの操作をよりエキサイティングにするのに役立つ組み込み関数があります。
このセクションでは、一般的に使用されるリスト操作について説明します。
リストの作成
リストを作成するには、コンマで区切られた角括弧内にいくつかの項目または式を入力するだけです。
(expression1, expression2,...,expresionN)
>>> l = (4,3,5,9+3,False) >>> l (4, 3, 5, 12, False)
また、Pythonにはと呼ばれる組み込みオブジェクトがあります リスト ()リストの作成に使用できます。
list( sequence )
>>> l = list() # create an empty list >>> l ()
Python リスト ()はシーケンスタイプを取り込んでリストに変換できます。これは、タプルをリストに変換する一般的な方法です。
>>> t = (4,3,5) # tuple >>>l = list(t) # convert into list (4,3,5)
上記の例では、データ型を使用しました タプル 。これはリストに似ていますが、リストとは異なり、不変であり、その項目は括弧で囲まれています。
リストを作成するもう1つの方法は、 リスト内包 次の構文があります。
(expression for item in sequence)
>>> (i**2 for i in range(4)) (0, 1, 4, 9)
Pythonリストは参照によって渡されることに注意してください。つまり、リストを割り当てると、そのメモリ位置IDが提供されます。多くの初心者が犯す間違いは、この方法でリストを作成することです。
>>> l1 = l2 = (4,3) # wrong way to create separate list objects >>> l1 (4,3) >>> l2 (4,3)
ここでは、2つの異なるリストを作成したと思うかもしれませんが、実際には1つだけ作成しました。変数の1つを変更して、これを示しましょう。
>>> l1(0) = 0 >>> l1 (0,3) >>> l2 (0,3)
1つの変数を変更すると、もう1つの変数が変更されることがわかります。これは、変数l1とl2の両方が同じメモリ位置IDを保持しているため、両方が同じオブジェクトを指しているためです。
リストへのアイテムの追加
Pythonには、リストに要素を追加する方法がたくさんあります。最も一般的な方法は、 append() 方法。他の方法は、 extend() 方法。 インデックス作成 そして スライス (これらについては後で詳しく説明します)は、リスト内のアイテムを置き換えるために使用される可能性が高くなります。
#1)append()メソッドの使用
このメソッドは、単一のアイテムを受け取り、それをリストの最後に追加します。新しいリストは返されませんが、リストをその場で変更するだけです(可変性のおかげです)。
>>>l = list() # create empty list >>> l () >>> l.append(4) # add an integer >>> l (4) >>> l.append((0,1)) # add a list >>> l (4, (0, 1)) >>> l.append(4 >> l (4, (0, 1), True) >>> l.append(x for x in range(3)) # add result of a tuple comprehension >>> l (4, (0, 1), True, )
上記の例から注意すべき点はほとんどありません。
- ここでの項目には、式、データ型、シーケンスなどがあります。
- ザ・ append() メソッドの時間計算量は(0)1です。それが一定であることを意味します。
#2)extend()メソッドを使用する
このメソッドは、引数としてiterableを取り込んで、そこからすべての項目をリストの最後に追加します。この方法は主に、シーケンスの個々のアイテムをリストに追加する場合に使用されます
基本的に、 extend() メソッドは引数を繰り返し処理し、各項目をリストに追加します。 append()メソッドと同様に、新しいリストは返されませんが、リストが適切に変更されます。
>>> l1 = (3,2,5) # create a list of items >>> l1 (3, 2, 5) >>> l2 = (0,0,-1) # create a second list of items >>> l2 (0, 0, -1) >>> str = 'hello' # create a string(iterable) >>> str 'hello' >>> l1.extend(l2) # append all items from l2 to l1 >>> l1 (3, 2, 5, 0, 0, -1) >>> l1.extend(str) # append all items from str to l1 >>> l1 (3, 2, 5, 0, 0, -1, 'h', 'e', 'l', 'l', 'o')
上記の例から注意すべき点はほとんどありません。
- 文字列は反復可能であるため、 extend() メソッドはその文字を繰り返し処理します。
- ザ・ extend() メソッドの時間計算量は (0) Kここで、Kは引数の長さです。
リストからのアイテムへのアクセス
インデックス作成 そして スライス リストにアクセスするために使用される最も一般的な手段です。リスト内のアイテムに、次のようなループでアクセスすることもできます。 forループ 。
#1)インデックス作成
Pythonリストは ゼロベースの番号付け システム。つまり、そのすべての項目は、0からn-1までのインデックス番号によって一意に識別されます。nはリストの長さです。
以下のリストを検討してください。
>>> colors = ('red','blue','green','yellow','black') # create list >>> colors ('red','blue','green','yellow','black') >>> len(colors) # get list length 5
以下の表は、それぞれのインデックスを示しています。 リストのゼロベースの番号付け。
項目 | ネット | 青い | 緑 | 黄 | 黒 |
---|---|---|---|---|---|
ポップ () | リストの最後から要素を削除/削除します。 | ||||
インデックス | 0 | 1 | 二 | 3 | 4 |
上記の表から、最初のアイテム(「赤」)がインデックス位置0にあり、最後のアイテム(「黒」)がインデックス位置4(n-1)にあることがわかります。ここでn = 5(オブジェクトの長さ)色)。
上記の特徴的なセクションで見たように、Pythonリストは順序付けられたシーケンスです。これにより、インデックスを使用してアイテムに簡単にアクセスして操作できます。
インデックスを使用して、上記で作成したcolorsオブジェクトの特定のインデックスにあるアイテムにアクセスしてみましょう。
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(0) # access item at index 0 'red' >>> colors(4) # access item at index 4 'black' >>> colors(9) # access item at index 9 Traceback (most recent call last): File '', line 1, in IndexError: list index out of range
注意 :上記の最後のステートメントは、長さ5のリストオブジェクトからインデックス位置9のアイテムにアクセスしようとしています。Pythonリストでは、存在しないインデックスのアイテムにアクセスすると、 IndexError 例外。
インデックス作成の重要な概念は、負のインデックス作成を使用できることです。つまり、最後のアイテムの-1から始まり、最後のアイテムの-nで終わる逆の方法でリストのアイテムにアクセスできます。nはリストオブジェクトの長さです。
上記の表で、負のインデックスを使用すると、次のようになります。
項目 | ネット | 青い | 緑 | 黄 | 黒 |
---|---|---|---|---|---|
インデックス | -5 | -4 | -3 | -二 | -1 |
上で作成したカラーオブジェクトのいくつかのアイテムにアクセスするために、負のインデックスを使用してみましょう。
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(-1) # access item and index -1(first item counting backward) 'black' >>> colors(-3) # access item at index -3(third item counting backward) 'green' >>> colors(-5) # access item at index -5 (last item counting backward) 'red'
#2)スライス
1つのアイテムのみを返すインデックス作成とは異なり、 スライス 一方、アイテムの範囲を返すことができます。
構文は次のとおりです。
L(n:m)
nがスライスの開始位置のインデックス番号(デフォルトは0)、mがスライスの終了位置の排他的インデックス番号(デフォルトは長さ-1)の場合。それらはコロン(:)で区切られます
上で作成したcolorsオブジェクトの特定のインデックスにあるアイテムにアクセスするためにスライスを使用する以下の例について考えてみます。
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(0:2) # get first two items ('red', 'blue') >>> colors(1:4) # get items at index 1,2 and 3 ('blue', 'green', 'yellow') >>> colors(2:len(colors) # get items from index 2 to the last item ('green', 'yellow', 'black') >>> colors(3:4) # get one item at index 3. Same as colors(3) ('yellow') >>>
構文L (n:m)では、nはデフォルトで0になり、mはデフォルトでリストの長さになります。だから、 例 1 そして 3 上記では、colors (:2)とcolors (2:)としてそれぞれnとmを省略できます。または(:)この場合、リストオブジェクト全体の浅いコピーを返します。
リストをスライスするときに負のインデックス番号を使用することもできます。これは通常、逆の方法でリストにアクセスする場合に使用されます。
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(-3:-2) ('green') >>> colors(-2:) ('yellow', 'black')
また、スライスがサポートする3番目のパラメータがあります。 ステップ (s)。これは、最初のアイテムがリストから取得された後に進むアイテムの数を定義します。デフォルトは1です。
L(n:m:s)
上で定義した同じカラーリストを使用して、スライスの3番目のパラメータを使用して2ステップ移動しましょう。
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(0:3:2) ('red', 'green')
#3)ループの使用
ループは主に、アイテムを操作するためにリスト内のアイテムにアクセスするために使用されます。したがって、リストのアイテムを操作する場合は、 forループ アイテムにアクセスし、操作するためにそれらを渡します。
たとえば、各アイテムの文字数を数えたいとします。使用できます forループ それを達成するために。
エディタを開き、以下のコードを貼り付けます。
def count_letters(l): count = {} # define a dict to hold our count for i in l: # loop through the list count(i) = len(i) # for each item, compute its length and store it in the dict return count # return the count if __name__ == '__main__': colors = ('red', 'blue', 'green', 'yellow', 'black') print(count_letters(colors))
出力
このセクションを終了するために、スライスで実行できる2つの優れた機能を見てみましょう。
-
リストの浅いコピーを作成する
を使用する基本的な方法です copy() リストオブジェクトまたは組み込み関数のメソッド copy.copy 。ただし、これはスライスすることで実現できます。
>>> colors # original list ('red','blue','green','yellow','black') >>> colors_copy = colors(:) # make a shallow copy >>> colors_copy ('red', 'blue', 'green', 'yellow', 'black') >>> colors_copy(0) = 0 # modify item at index 0 by changing its value to 0 >>> colors_copy # the copied version now has 0 at index 0 (0, 'blue', 'green', 'yellow', 'black') >>> colors # the original version is unchanged ('red', 'blue', 'green', 'yellow', 'black') >>>
-
リストを逆にする
基本的な方法は、 逆行する リストオブジェクトまたは組み込み関数のメソッド reverse() 。ただし、これはスライスすることで実現できます。
>>> colors # original list object ('red', 'blue', 'green', 'yellow', 'black') >>> colors(::-1) # returns a reversed shallow copy of the the original list ('black', 'yellow', 'green', 'blue', 'red') >>>
リストからのアイテムの削除
リストにアイテムをいくつでも追加できるので、リストから削除することもできます。アイテムを削除する3つの方法は次のとおりです。
#1)delステートメントの使用
構文は次のとおりです。
del target_list
ターゲットリスト( target_list )は、リスト全体(リストを削除する場合)またはリスト内の1つまたは複数のアイテム(この場合はインデックス作成またはスライスを使用)にすることができます。
以下の例を検討してください 。
たとえば、上記で作成した色リストからいくつかのアイテムを削除したいとします。
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> del c_copy(0) # delete item at index 0 >>> c_copy ('blue', 'green', 'yellow', 'black') >>> del c_copy(0:2) # delete items at index 0 and 1(slicing) >>> c_copy ('yellow', 'black') >>> del c_copy(:) # delete all items in a list. Same as ‘c_copy.clear()’ () >>> del c_copy # delete the list object >>> c_copy # access object that doesn't exist Traceback (most recent call last): File '', line 1, in NameError: name 'c_copy' is not defined >>>
注意 :delステートメントは削除します 所定の位置、すなわち 、新しいリストオブジェクトを返すのではなく、元のリストオブジェクトを変更します。
#2)list.remove(x)を使用する
値が等しい最初のアイテムをリストから削除します バツ 。そのようなアイテムがない場合、ValueErrorが発生します。
このメソッドは、インデックス作成とスライスを使用するdelステートメントとは異なり、主に名前でリストからアイテムを削除するために使用されます。
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # create shallow copy to work on >>> c_copy ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy.remove('blue') # remove first item with name 'blue' >>> c_copy ('red', 'green', 'yellow', 'black') >>> c_copy.remove('blue') # try to remove item that doesn't exist Traceback (most recent call last): File '', line 1, in ValueError: list.remove(x): x not in list >>>
注意 :リストオブジェクト 削除する() メソッドは削除します 所定の位置、すなわち 、新しいリストオブジェクトを返すのではなく、元のリストオブジェクトを変更します。
#3)list.pop((i))の使用
リストオブジェクトの指定された位置にあるアイテムを削除して返します。 i(index)が指定されていない場合は、リストの最後の項目を削除して返します。
注意 :上記のiを囲む角括弧は、iのリストを意味するのではなく、iがオプションであることを意味します。
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> c_copy ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy.pop(3) # pop out the item at index 3 'yellow' >>> c_copy ('red', 'blue', 'green', 'black') >>> c_copy.pop() # pop out the last item in the list 'black' >>> c_copy ('red', 'blue', 'green') >>>
注意: リスト。 pop((i)) メソッドは削除します 所定の位置、すなわち 、新しいリストオブジェクトを返すのではなく、元のリストオブジェクトを変更します。また、リストから削除されたアイテムを返します
リストからのアイテムの置き換え
アイテムの交換はとても簡単です。上記のセクションの1つで、インデックス作成とスライスを確認しました。これらは、リストにアクセスしてアイテムを削除するために使用できます。
#1)インデックスを使用して置き換える
L(index) = value
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> c_copy ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy(0) = 'brown' # replace item at index 0 with 'brown' >>> c_copy ('brown', 'blue', 'green', 'yellow', 'black') >>>
#2)スライスを使用した交換
L(n:m) = value
注意 : 値 する必要があります 反復可能 、または TypeError 例外が発生します。
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> c_copy(0:2) = ('brown') # replace items at index 0 and 1 with 'brown' >>> c_copy ('brown', 'green', 'yellow', 'black') >>> c_copy(1:3) = ('white','purple') # replace items at index 1 and 2 with 'white' and 'purple' >>> c_copy ('brown', 'white', 'purple', 'black') >>> c_copy(1:4) = ('white','purple') # replace items at index 1,2 and 3 with 'white' and 'purple'. Here we replace 3 items with 2 items >>> c_copy ('brown', 'white', 'purple') >>>
よくある質問
Q#1)Pythonのリストのリストとは何ですか?
回答: Pythonのリストのリストは、リストをアイテムとして含むリストです。
例えば
(('a','b'),('c','d'))
それはまた呼ばれることができます ネストされたリスト 。
Q#2)Pythonでリストをどのように宣言しますか?
回答: Pythonでは、リストは2つの方法で宣言できます。組み込み関数を使用するか リスト() または角かっこ表記()を使用します。 リスト() iterableを取り込み、()はコンマで区切られた任意のタイプのアイテムを取り込みます。
(pytyon)>>> list('hello') # a string is iterable ('h', 'e', 'l', 'l', 'o') >>> (3,4,5,23) # numbers are separated by comma (3, 4, 5, 23) >>> (/python)
Q#3)リストPythonにリストを入れることはできますか?
回答: はい、リストをリスト内に入れることができます。実際のところ、リストは任意のデータ型のアイテムを取り込むコンテナシーケンスです。
Q#4)list()はPythonで何をしますか?
回答:list( )は、リストオブジェクトを作成するPythonの組み込み関数です。それはその引数として反復可能を取ります。
>>> list((3,2,4)) # The iterable object here is a tuple. (3, 2, 4) >>>
Q#5)Pythonリストにさまざまなタイプを含めることはできますか?
回答: リストは、任意のデータ型のアイテムを取り込むコンテナシーケンスです( リスト 、 タプル 、 整数 、 浮く 、 文字列 、など)
Pythonのリストの詳細
データ構造とは何ですか?
コンピュータは、膨大な数のデータを保存したり、膨大な数のデータを高速かつ正確に処理したりするために使用されます。したがって、すばやくアクセスできるように、データを永続的に保存することをお勧めします。
データ処理が行われている間、それは正確さを失うことなく可能な限り短い時間内に行われるべきです。データ構造を使用して、組織化された方法でデータを処理し、処理のためにデータをメモリに格納します。
Pythonは高級で解釈されたプログラミング言語であるため、Pythonのデータ構造を利用することは非常に重要です。
リストとは何ですか?
リストは、一度に複数のデータを格納するために使用されるデータ構造です。
リストに格納されているデータは同種であるため、Pythonのリストの最も強力な機能になります。文字列、整数、オブジェクトなど、さまざまなデータ型の複数のデータを1つのリストに保存することもできます。
リストはPythonで変更可能であるため、データは作成後でもいつでも変更できます。リストは、Pythonでスタックとキューを実装するのに非常に強力です。
前に説明したように、リストはデータを順序付けられた順序で格納し、リストに格納されたデータはインデックスを使用してアクセスされます。リストの場合、インデックスは常にゼロから始まります。各要素はリスト内の特定の場所にあり、それらのデータはすべてインデックスを使用してアクセスされます。
リストでは、同じ値を複数回保存でき、各データは個別の一意の要素と見なされます。リストは、データを保存し、後でそれらを反復処理するのに最適です。
リストの作成
リスト内のデータは、コンマで区切られ、角括弧(())で囲まれて保存されます。リスト内のアイテムは同じタイプである必要はありません。
Syntax: List = (item1, item2, item3)
例1:
List = ( )
例2:
List = (2, 5, 6.7)
例3:
List = (2, 5, 6.7, ‘Hi’)
例4:
List = (‘Hi’, ‘Python’, ‘Hello’)
上記の例では、コンマで区切られたさまざまなデータ型のアイテムが格納されていることがわかります。2と5は整数型、6.7はフロート型、「Hi」は文字列型で、これらの項目はすべてaで囲まれています。リストとそれはそれをリストにします。
空のリストを宣言することもできます。別のリスト内でリストを宣言することもでき、これをネストされたリストと呼びます。
例5:
List = (‘Hi’, (2, 4, 5), (‘Hello’))
上記の例では、リストが別のリスト内で宣言されていることがわかります。
リスト内の値へのアクセス
Pythonでリスト内にあるアイテムにアクセスするには、さまざまな方法があります。
インデックスの助けを借りて、リストの要素にアクセスできます。インデックスは0から始まり、インデックスは常に整数である必要があります。 floatのように整数以外のインデックスを使用すると、TypeErrorが発生します。
例1:
List = (2, 5, 6.7, ‘Hi’) print(“List is:”, List)
出力:
リストは次のとおりです:(2、5、6.7、「こんにちは」)
出力:
ハッシュテーブルc ++の例
上記の例では、print関数を使用してリストを直接印刷しており、リストの個々の要素にはアクセスしていません。
リストから個々の要素にアクセスしましょう。
例:2
List = (2, 5, 6.7, ‘Hi’) print(“Second element of the list is:”, List(1))
出力:
リストの2番目の要素は次のとおりです。5
出力:
上記の例では、リストの2番目の要素である5を出力していることがわかりますが、printステートメントでList (1)を出力している理由について質問を受ける場合があります。これは、インデックスがゼロから始まるため、List (1)はリストの2番目の要素を参照するためです。
例:3
List = (2, 5, 6.7, ‘Hi’) print(“First element in the List is: ”, List(0)) print(“Last element in the List is: ”, List(3))
出力:
リストの最初の要素は次のとおりです。2
リストの最後の要素は次のとおりです。こんにちは
出力:
例:4
List = (‘Hi’, (2, 4, 5)) print(“First element of the list is: ”, List(0)(1)) print(“Elements present inside another list is: ”, List(1)(2))
出力:
リストの最初の要素は次のとおりです。i
別のリスト内に存在する要素は次のとおりです:5
出力:
上記のプログラムを注意深く観察すると、ネストされたリストの要素にアクセスしていることがわかります。
内部的には、データは以下に示すようにマトリックス形式で保存されます。
こんにちは
2 4 5
したがって、List (0) (1)にアクセスしようとすると、1を指します。st行と2nd列の場合、データは「i」になります。
同様に、List (1) (2)にアクセスしようとすると、2を指します。nd行と3rdこれにより、データは5になります。
ネガティブインデックス
負のインデックスを使用してデータにアクセスすることもできます。負のインデックスは常に-1から始まり、-1は最後の要素を参照し、-2は最後の2番目の項目を参照します。
例:1
List = (2, 5, 7, 3) print(“Last element in the list is: ”, List(-1))
出力:
リストの最後の要素は次のとおりです:3
出力:
例:2
List = (2, 5, 7, 3) print(“Second element in the list is: ”, List(-3))
出力:
リストの2番目の要素は次のとおりです。5
出力:
リストをスライスする
スライス演算子(:)を使用して、リストから要素の範囲にアクセスできます
例:1
List = (1, 2, 3, 4, 5, 6, 7) print(“Elements from 2nd to 5th is: ”, List(1:5)) print(“Elements beginning to 2rd is: ”, List(:-3)) print(“Elements 4th to end is: ”, List(3:)) print(“Elements from start to end is: “, List(:))
出力:
2番目から5番目までの要素は次のとおりです:(2、3、4、5)
2番目から始まる要素は次のとおりです:(1、2、3、4)
4番目から最後までの要素は次のとおりです:(4、5、6、7)
最初から最後までの要素は次のとおりです:(1、2、3、4、5、6、7)
出力:
forループを使用して、リスト内に存在する要素にアクセスすることもできます。
例:2
List = (1, 2, 3, 4, 5, 6, 7) forele in List: print(ele)
出力:
1
二
3
4
5
6
7
出力:
以下のインデックス形式を覚えておいてください。
H | IS | L | L | または | 5 | 7 | 9 | 4 |
0 | 1 | 二 | 3 | 4 | 5 | 6 | 7 | 8 |
-9 | -8 | -7 | -6 | -5 | -4 | -3 | -二 | -1 |
前に説明したように、Pythonのリストは変更可能です。つまり、整数、文字列、または任意のデータ型であっても、要素を変更できます。
代入演算子を使用してリストを更新できます。
例:3
List = (2, 4, 6, 9) #updating the first element List(0) = 7 print(“Updated list is: ”, List)
出力:
更新されたリストは次のとおりです:(7、4、6、9)
出力:
上記の例では、リスト「2」の最初の要素を新しい要素「7」で更新しています。
例:4
List = (2, 5, 1, 3, 6, 9, 7) #updating one or more elements of the list at once List(2:6) = (2, 4, 9, 0) print(“Updated List is: ”, List)
出力:
更新されたリストは次のとおりです:(2、5、2、4、9、0、7)
上記の例では、データのリストをリストに更新しています。
Javaでのダイクストラの最短経路アルゴリズムの実装
出力:
リストへの要素の追加
リストに要素を追加する方法はいくつかありますが、Pythonにはappend()という関数が組み込まれています。
append()を使用すると、リストに追加できる要素は1つだけです。リストに複数の要素を追加する場合は、次を使用する必要があります。 forループ 。 append()関数は常にリストの最後に要素を追加し、append()関数は1つの引数のみを取ります。
特定の位置に要素を追加する場合は、insert()メソッドを使用する必要があります。 insert()は2つの引数、つまりpositionとvalueを取ります。positionはインデックスを参照します。ここで、要素を追加する必要があり、valueはリストに追加する要素を参照します。
extends()と呼ばれるもう1つのメソッドがあり、これを使用してリストに要素を追加できます。 extend()メソッドは、要素のリストをリストに追加するために使用されます。 append()メソッドやextend()メソッドと同様に、リストの最後に要素を追加します。
例:1
List = (“Hello”, “Good Morning”) print(“List before appending values is: “, List) List.append(“Python”) List.append(“Hi”) print(“List after appending values is: ”, List)
出力:
値を追加する前のリストは次のとおりです:(“ Hello”、“ Good Morning”)
値を追加した後のリストは次のとおりです:(“ Hello”、“ Good Morning”、“ Python”、“ Hi”)
上記の例では、リストの最後に「Python」と「Hi」の値を追加しています。
出力:
例:2
List = (“Hello”, “Good Morning”) print(“List before appending values is: “, List) print(“Length of the list before appending is: “, len(List)) List.append(“Python”) List.append(“Hi”) print(“List after appending values is: ”, List) print(“Length of the list after appending is: “, len(List))
出力:
値を追加する前のリストは次のとおりです:(“ Hello”、“ Good Morning”)
追加する前のリストの長さは次のとおりです:2
値を追加した後のリストは次のとおりです:(“ Hello”、“ Good Morning”、“ Python”、“ Hi”)
追加後のリストの長さは次のとおりです:4
上記の例に示すように、len()関数を使用してリストの長さを見つけることができます。
出力:
forループを使用してリストに複数の値を追加することもできます。
例:3
List = (7, 9, 8) print(“List before adding elements is: “, List) print(“Length of List before adding elements is: “, len(List)) for i in range(2, 6): List.append(i) print(“List after adding elements is: “, List) print(“Length of List after adding elements is: “, len(List))
出力:
要素を追加する前のリストは次のとおりです:(7、9、8)
要素を追加する前のリストの長さは次のとおりです:3
要素を追加した後のリストは次のとおりです:(7、9、8、2、3、4、5)
要素を追加した後のリストの長さは次のとおりです:7
出力:
リストのリストをリストに追加するとどうなりますか?以下の例でそれを見てみましょう。
例:4
List1 = (“Hi”, “Python”) List2 = (1, 5, 7, 2) List1.append(List2) print(“List1 after appending List2 is: “, List1)
出力:
List2を追加した後のList1は次のとおりです:(“ Hi”、“ Python”、(1、5、7、2))
上記の例で気付いた場合、List2をList1に追加すると、List1はネストされたリストになります。
出力:
リストを追加した後にネストされたリストとしてリストを作成したくない場合は、extend()メソッドを使用することをお勧めします。
例:5
List1 = (“Hi”, “Python”) List2 = (1, 5, 7, 2) List1.extend(List2) print(“List1 after appending List2 is: “, List1)
出力:
List2を追加した後のList1は次のとおりです:(“ Hi”、“ Python”、1、5、7、2)
extend()メソッドを使用すると、List1の要素はList2の要素で拡張されます。 extend()メソッドを使用する場合、リストは追加されないことに注意してください。
出力:
文字列を使用してリストを拡張すると、文字列は反復可能であるため、文字列の各文字がリストに追加されます。
例:6
List = (1, 5, 7, 2) List.extend(“Python”) print(“List after extending the String is: “, List)
出力:
文字列を拡張した後のリストは次のとおりです:(1、5、7、2、「P」、「y」、「t」、「h」、「o」、「n」)
出力:
append()とextend()のリスト
extends()とappend()の例をいくつか見てみましょう。
例:1
def my_fun(): List1 = (“Hi”, 1, “Hello”, 2, 5) print(“The elements of List is: “, List) List.append(“Python”) print(“List after appending the String is: “, List) List.append((“one”, “two”, 3)) print(“List after appending the list is: “, List) List2 = (“Apple”, “Orange”, 2, 8) List1.extend(List2) print(“List1 after extending the List2 is: “, List1) if __name__ == “__main__”: my_fun()
出力:
リストの要素は次のとおりです。(「こんにちは」、1、「こんにちは」、2、5)
文字列を追加した後のリストは次のとおりです:(“ Hi”、1、“ Hello”、2、5、“ Python”)
リストを追加した後のリストは次のとおりです。(“ Hi”、1、“ Hello”、2、5、“ Python”、(“ one”、“ two”、3))
List2を拡張した後のList1は、(“ Hi”、1、“ Hello”、2、5、“ Python”、(“ one”、“ two”、3)、“ Apple”、“ Orange”、2、8)です。
出力:
例:2
List = (“Apple”, “Orange”, “Mango”, “Strawberry”) print(“List before inserting is: “, List) List.insert(2, “Watermelon”) print(“List after inserting is: “, List)
出力:
挿入前のリストは次のとおりです。(「Apple」、「Orange」、「Mango」、「Strawberry」)
挿入後のリストは次のとおりです。(「Apple」、「Orange」、「Watermelon」、「Mango」、「Strawberry」)
出力
前に説明したように、insert()メソッドは、リストの特定のインデックスに値を挿入するために使用されます。
例:3
List1 = (2, 4, 6, 8) print(“List after adding the elements is: “, List1 + (1, 3, 5, 7)) print(“After adding same elements repeatedly is: “, (“Hi”) *5)
出力:
要素を追加した後のリストは次のとおりです:(2、4、6、8、1、3、5、7)
同じ要素を繰り返し追加した後は、(‘Hi’、 ‘Hi’、 ‘Hi’、 ‘Hi’、 ‘Hi’)です。
出力:
リストからの要素の削除または削除
delおよびremove()ステートメントを使用して、リストから要素を削除または削除することもできます。
以下の例で見てみましょう。
例:1
List = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(“List before deleting 3rd element is: ”, List) del List(3) print(“List after deleting 3rd element is: ”, List) del List(1:3) print(“List after deleting multiple elements is: “, List)
出力:
3番目の要素を削除する前のリストは次のとおりです:(1、2、3、4、5、6、7、8、9)
3番目の要素を削除した後のリストは次のとおりです:(1、2、3、5、6、7、8、9)
複数の要素を削除した後のリストは次のとおりです:(1、5、6、7、8、9)
上記の例では、delステートメントを使用して、リストから要素または複数のステートメントを削除したことがわかります。
出力:
次に、remove()メソッドについて説明します。
例:2
List = (1, 2, 3, 4, 5, 6, 7) print(“List before removing a element is: “, List) List.remove(3) print(“List after removing a element is: “, List) List.pop() print(“List after poping the element is: “, List)
出力:
要素を削除する前のリストは次のとおりです:(1、2、3、4、5、6、7)
要素を削除した後のリストは次のとおりです:(1、2、4、5、6、7)
要素をポップした後のリストは次のとおりです:(1、2、4、5、6)
上記の例では、remove()メソッドを使用してリストから要素を削除していることがわかります。 pop()メソッドは、リストから最後の要素を削除/削除するために使用されます。
出力:
リストメソッド
メソッド | 説明 |
---|---|
晴れ() | リストからすべての要素を削除します。 |
append() | リストの最後に要素を追加します。 |
インサート() | リストの特定のインデックスに要素を挿入します。 |
extend() | リストの最後に要素のリストを追加します。 |
カウント() | 特定の値を持つ要素の数を返します。 |
index() | 最初の要素のインデックスを返します。 |
逆行する() | 既存のリストを元に戻す。 |
削除する() | リストから要素を削除します。 |
結論
このチュートリアルでは、いくつかを見ました Pythonリストの特徴 次のようなリストを操作するさまざまな方法と一緒に リストの作成 、 リストからアイテムにアクセスする 、および リストからアイテムを置き換える。
Pythonリストのこのチュートリアルは、次のポインターで終了できます。
- リストはPythonのデータ型の1つであり、データ構造とも呼ばれます。
- リストは、任意のデータ型の多数の値を1つの変数に格納するために使用されます。これにより、簡単にアクセスできます。
- リストのインデックスは、他のプログラミング言語と同様に常にゼロから始まります。
- リストで作業している場合は、リストに組み込まれている一般的な機能をすべて覚えておく必要があります。
=> Pythonをゼロから学ぶには、こちらにアクセスしてください