Python リスト内包表記、追加、ソート、長さ [例]
Python リストとは
リストはまさにその名の通り、さまざまな Python オブジェクト (整数、単語、値など) を含むコンテナーです。これは、他のプログラミング言語の配列に相当します。これは角括弧で表されます (これは、括弧で区切られたタプルと区別する属性の 1 つです)。また、変更可能です。つまり、変更または更新できます。不変のタプルとは異なります。
この Python チュートリアルでは、次のことを学びます:
- Python リストとは?
- Python リストの例:
- リスト内の値へのアクセス
- Python リストのスライス
- リストの更新
- リスト要素の削除
- リスト要素の追加
- 組み込み関数 (メソッド) の一覧表示
- リストのループ
- リスト内包表記 Python
Python リストの例:
Python のリストは同種である場合があります。つまり、同じタイプのオブジェクトを含めることができます。さまざまな種類のオブジェクトを含む異種。
同種のリストの例は次のとおりです:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
異種リストの例は次のとおりです:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
リスト内の値へのアクセス
リスト内の値にアクセスするには、リスト内のオブジェクトのインデックスを使用できます。 Python リストのインデックスは、順序付きリスト内の要素の位置を参照します。例:
list = [3, 22, 30, 5.3, 20]
- 上記のリストの最初の値 3 のインデックスは 0 です
- 2 番目の値 22 のインデックスは 1 です
- 3 番目の値 30 のインデックスは 2 です
等々。リストから各値にアクセスするには、次を使用します:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
リストの最後のメンバーには、インデックス -1 を使用してアクセスすることもできます。たとえば、
list[-1] = 20
Python リストのスライス
リストのスライスは、リストのサブセットを分割する方法であり、リスト オブジェクトのインデックスもこれに使用されます。たとえば、上記と同じリストの例を使用します;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python のリストは上限がありません。これは、リストのスライス中の最後のインデックスが通常無視されることを意味します。だから
list[2:-1] = [30, 5.3]
、[30、5.3、20] ではありません。上記の他のすべてのリスト スライスの例についても同じことが言えます。
リストの更新
リスト =[物理学、化学、数学] があり、リストを [生物学、化学、数学] に変更して、インデックス 0 のメンバーを効果的に変更したいとします。これは、そのインデックスをあなたが望む新しいメンバー.
つまり、
list = [physics, chemistry, mathematics] list[0] = biology print(list)
出力:[生物学、化学、数学]
これにより、インデックス 0 (物理学) のメンバーが必要な新しい値 (化学) に置き換えられます。これは、変更したいリストの任意のメンバーまたはサブセットに対して行うことができます。
別の例を挙げると、 integers という数字 [2, 5, 9, 20, 27] を含むリストがあるとします。そのリストの 5 を 10 に置き換えるには、次のようにします:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
整数のリストの最後のメンバーである 27 を 30.5 のような自由な数に置き換えるには、次のように使用します:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
リスト要素の削除
リスト要素を削除するための Python メソッドには、list.remove()、list.pop()、および del 演算子の 3 つがあります。 remove メソッドは削除する特定の要素を引数として取り、pop と del は削除する要素のインデックスを引数として取ります。例:
リスト =[3, 5, 7, 8, 9, 20]
リストから 3 (最初の要素) を削除するには、次を使用できます:
- list.remove(3) または
- list.pop[0]、または
- デル リスト[0]
インデックス 3 の項目 8 をリストから削除するには、次のように使用できます。
- list.remove(8)、または
- list.pop[3]
リスト要素の追加
リストに要素を追加するには、append メソッドが使用され、これにより要素がリストの末尾に追加されます。
例:
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
組み込み関数 (メソッド) のリスト
以下は、リスト組み込み関数とメソッドのリストとその説明です:
- len(リスト): これにより、リストの長さが出力として得られます。例:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- 最大(リスト): 最大値を持つリスト内のアイテムを返します。例:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- 分(リスト): リスト内の最小値を持つアイテムを返します。例:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- リスト(タプル): タプル オブジェクトをリストに変換します。たとえば、
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- list.append (要素):要素をリストに追加します。たとえば、
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- list.pop (index):指定されたインデックスの要素をリストから削除します。たとえば、
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- list.remove (要素):リストから要素を削除します。例:
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- list.reverse ():リストのオブジェクトを反転します。たとえば、
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- list.index (要素):リスト内の要素のインデックス値を取得します。たとえば、
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- 合計 (リスト):値がすべて数値 (整数または小数) の場合、リスト内のすべての値の合計を取得します。たとえば、
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
リストに文字列などの数値ではない要素が含まれている場合、sum メソッドは機能しません。 「TypeError」というエラーが表示されます。 :サポートされていないオペランド型 +:'int' および 'str'"
- list.sort():整数、浮動小数点数、または文字列のリストを昇順または降順に並べ替えます。例:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
別の例:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
文字列のリストは、アルファベット順または文字列の長さでソートすることもできます。例えば;
# to sort the list by length of the elements strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
「strings.
」を使用して、同じリストをアルファベット順に並べ替えることができます。リストのループ
リストのループは、Python の他のループ関数とまったく同じ方法で実行できます。このようにして、メソッドはリストの複数の要素に対して同時に実行できます。例:
リスト =[10, 20, 30, 40, 50, 60, 70].
このリストのすべての要素をループするには、たとえば、各要素に 10 を追加します:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
リストの最初の 3 つの要素をループして、それらすべてを削除するには;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
3番目の をループするには (インデックス 2) をリストの最後の要素に追加し、それらを new_list という名前の新しいリストに追加します:
new_list = [] for elem in list[2:]: new_list.append(elem) print(“New List: {}”.format(new_list)) Output: New List: [30, 40, 50, 60, 70]
このようにして、任意のメソッドまたは関数をリストのメンバーに適用して、特定の操作を実行できます。リストのすべてのメンバーをループするか、リスト スライスを使用してリストのサブセットをループすることができます。
リスト内包表記 Python
リスト内包表記は、既に作成されているシーケンスを使用して新しいシーケンス (リスト、辞書など) を作成するために使用される Python 関数です。より長いループを減らし、コードを読みやすく維持しやすくするのに役立ちます。
例えば; 1 から 9 までのすべての数字の 2 乗を含むリストを作成したいとしましょう:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) List_of_squares using for loop: [1, 4, 9, 16, 25, 36, 49, 64, 81]
リスト内包表記で同じことを行うには:
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares_2)) Output using list comprehension: [1, 4, 9, 16, 25, 36, 49, 64, 81]
上記のように、リスト内包表記を使用してコードを記述すると、従来の for ループを使用するよりもはるかに短く、高速です。これは、for ループの代わりにリスト内包表記を使用する 1 つの例にすぎませんが、これを複製して、for ループも使用できる多くの場所で使用できます。特にコードが複雑な場合は、for ループを使用する方が良い場合もありますが、多くの場合、リスト内包表記を使用するとコーディングが簡単かつ高速になります。
以下は、いくつかのリスト関数とメソッド、およびそれらの説明を含む表です。
組み込み関数
FUNCTION | 説明 |
---|---|
Round() | 引数として渡された数値を指定された桁数に丸め、浮動小数点値を返します |
Min() | 与えられたリストの最小要素を返す |
Max() | 与えられたリストの最大要素を返す |
len() | リストの長さを返します |
列挙() | この組み込み関数は反復可能な項目の値とインデックスの両方を生成するため、手動でカウントする必要はありません |
Filter() | リストの各要素が真かどうかをテストします |
ラムダ | (関数を作成するための) def が構文的でない場所、リスト リテラルまたは関数の呼び出し引数内に現れる可能性のある式 |
Map() | 与えられた iterable の各項目に与えられた関数を適用した後の結果のリストを返します |
Accumulate() | 引数に渡された特定の関数をすべてのリスト要素に適用すると、中間結果を含むリストが返されます |
Sum() | リスト内のすべての数値の合計を返します |
Cmp() | これは 2 つのリストを比較するために使用され、最初のリストが 2 番目のリストよりも大きい場合に 1 を返します。 |
挿入 | リストの特定の位置に要素を挿入 |
メソッドのリスト
FUNCTION | 説明 |
---|---|
Append() | リストの最後に新しい項目を追加します |
クリア() | リストからすべてのアイテムを削除します |
Copy() | 元のリストのコピーを返します |
Extend() | リストの最後に多くの項目を追加 |
Count() | リスト内の特定の項目の出現回数を返します |
インデックス() | リストの特定の要素のインデックスを返します |
ポップ() | 特定のインデックスでリストからアイテムを削除します (位置による削除) |
Remove() | 指定された項目をリストから削除します (値による削除) |
Reverse() | リストの要素の順序を逆にするインプレース反転メソッド |
まとめ
- リストはその名の通り、さまざまな Python オブジェクト (整数、単語、値など) を含むコンテナーです。
- Python リストは同種である場合があります。つまり、同じタイプのオブジェクトを含めることができます。または、さまざまな種類のオブジェクトを含む異種。
- リスト内の値にアクセスするには、リスト内のオブジェクトのインデックスを使用できます。
- リストのスライスは、リストのサブセットを分割する方法であり、リスト オブジェクトのインデックスもこれに使用されます。
- リスト要素を削除する 3 つのメソッド:1)list.remove()、2)list.pop()、および 3)del 演算子
- Append メソッドは、要素を追加するために使用されます。これにより、要素がリストの最後に追加されます。
- Python プログラムのループ メソッドは、データ リストの複数の要素に対して同時に実行できます。
- リスト内包表記は、既に作成されているシーケンスを使用して新しいシーケンス (リスト、辞書など) を作成するために使用される Python 関数です。
Python