Python プログラミングの基礎: リストとタプル (1)

1. リスト表現とアクセス

1. リストの表現

リスト(リスト)は、関連するデータの集合を整然と格納し、統一的に処理するために使用されます。Python では、リストは一連のデータを角括弧「[]」で囲むことによって定義されます。各データは要素と呼ばれ、要素はカンマで区切られ、要素の数は要素の数と呼ばれます。配列の長さ。
例:

num = [1,2,3,4,5,6]
name = ["小黄","小刘","小王","小李","小张","小吴"]
mixone = [1,"小黄"]
mixtwo = [[1,"小黄"],[2,"小刘"]]

上に示したように、すべてが値、すべてが文字列、またはその 2 つの混合である要素をリストに格納でき、リストが要素として機能することもできます。

2. リストアクセス

リスト内の各要素は位置番号に対応します。この位置番号は要素のインデックスと呼ばれます。リストはインデックスを通じて要素にアクセスします。構文形式は次のとおりです。

列表名[索引]

インデックス番号は 0 から始まり、右に 1 ずつ増加します。アクセス方法は文字列と同様で、順方向インデックス方法と逆方向インデックス方法の両方をサポートします。文字列と同様に、リストにも [先頭の添え字: 末尾の添え字: ステップ サイズ] という方法を使用した間隔アクセス方法が用意されており、このアクセス方法は「スライス」と呼ばれます。
文字列のインデックス付けとスライス
ここに画像の説明を挿入
上記のコードでは、「list」を使用して文字列をリストに変換します。

2番目、リストの要素操作

リスト要素は順番に保存され、変更することができます。変更、追加、削除の操作がサポートされています。

1. 要素の変更

リスト要素を変更するには、対応するインデックス要素に新しい値を割り当てるだけです。その形式は次のとおりです。

列表名[索引]=新值

ここに画像の説明を挿入

2.要素の増加

要素を追加するには、主に append() メソッドと insert() メソッドの 2 つの方法があります。
append() メソッド:
append() メソッドは、指定された新しい要素を指定されたリストの最後、つまり最後の要素の後に追加するために使用され、その構文形式は次のとおりです。

列表.append(新元素)

insert() メソッド:
insert() メソッドは、指定された要素をリスト内の指定された位置に挿入し、その位置はインデックスで表されます。構文形式は次のとおりです。

列表.insert(索引,新元素)

ここに画像の説明を挿入

3. 要素の削除

要素の削除には主に del コマンド、pop() メソッド、remove() メソッドの 3 つのタイプがあります。
del コマンド:
del コマンドは、指定されたリスト要素を削除するために使用される Python の組み込みコマンドです。構文形式は次のとおりです。

del 列表[索引]

Pop() メソッド:
Pop() メソッドは、インデックスを指定してリスト内の対応する要素を削除します。その構文形式は次のとおりです。

列表.pop(索引)

Remove()メソッド:
delコマンドやpop()メソッドとは異なり、remove()メソッドはインデックスに従って要素を削除するのではなく、削除する要素の値を直接指定します。リスト内の同じ値を削除する () メソッドは、インデックス値が小さい要素を削除します。構文形式は次のとおりです。

列表.remove(元素值)

ここに画像の説明を挿入

4. その他の操作

リスト要素の変更、追加、削除に加えて、len() 関数、演算子 in および not in、index() メソッド、および count() メソッドという 4 つの一般的なリスト要素操作メソッドがあります。
len() 関数:
len() 関数は、指定されたリストの長さをカウントして返すために使用され、その構文形式は次のとおりです。

len(列表)

演算子 in と not in:
演算子 in と not in は、指定された要素がリストに存在するかどうかを判断するために使用されます。in を使用すると True が返され、存在しない場合は False が返され、not in はその逆です。その構文形式は次のとおりです。

元素 in 列表
元素 not in 列表

Index() メソッド:
Index() メソッドは、リスト内の要素の位置を見つけるために使用されます。リスト内に要素が存在する場合は、そのインデックスが返されます。複数の要素がある場合は、最小のインデックス値が返されます存在しない場合は、エラーが直接報告されます。構文形式は次のとおりです。

列表.index(元素)

count() メソッド:
count() メソッドは、リスト内の指定された要素の数を数えて返します。その構文形式は次のとおりです。

列表.count(元素)

ここに画像の説明を挿入

3. リスト操作

リストの操作とは、主にリスト全体またはリストの一部を処理することを指します。

1. リストの走査

リスト走査は主にリスト要素に最初から最後までアクセスすることを指し、一般的な走査方法には range() 関数と直接走査の 2 つがあります。
range() 関数:
range() 関数は、主に for ループとともに使用され、インデックス番号でリストの要素に順番にアクセスします。その構文形式は次のとおりです。

for i in range(n):
    列表[i]

ここに画像の説明を挿入

直接トラバーサル:
直接トラバーサルとは、for ループ形式を直接使用してリスト内の各要素に順番にアクセスすることを指し、その構文形式は次のとおりです。

for 元素 in 列表

ここに画像の説明を挿入

2. リストの並べ替え

リスト内の要素をソートするには、sort() メソッドとsorted() 関数という 2 つの主な方法があります。
sort() メソッド: sort
() メソッドは、リスト要素を小さいものから大きいもの、または大きいものから小さいものの昇順と降順で並べ替え、リスト内の要素の位置を変更します。デフォルトは昇順です。構文形式は次のとおりです。以下に続きます:

列表.sort()

かっこ内に reverse = True/False を追加できます。True が降順を意味する場合、False は昇順を意味します。
ここに画像の説明を挿入
ここに画像の説明を挿入

sorted() 関数sorted
() 関数は、リスト要素を小さいものから大きいもの、または大きいものから小さいものの昇順と降順で並べ替えます。リスト内の要素の位置は変更されませんが、並べ替えられたコピーが生成されるだけです。デフォルトは昇順であり、その構文形式は次のとおりです。

sorted(列表)

かっこ内に reverse = True/False を追加できます。True が降順を意味する場合、False は昇順を意味します。
ここに画像の説明を挿入

並べ替えは主に、要素の ord() 関数によって取得されたエンコード値に基づいて行われるため、要素が数字と英語の文字によって均一に並べ替えられると、結果がより明確になります。

3. リストのスライス

リストのスライス方法は上で紹介した文字列のスライス方法と同じで、開始インデックス、終了インデックス、ステップサイズを直接指定してスライスを抽出します。

列表[起始索引:终止索引:步长]

注意事項は以下の通りです。

  1. 「開始インデックス」が欠落している場合は、インデックス「0」から開始します。
  2. 「終了インデックス」が欠落している場合、デフォルトで最後の要素の位置が設定されます。
  3. 「開始インデックス」と「終了インデックス」の両方が欠落している場合は、デフォルトでリスト全体が取得されます。
  4. ステップ サイズ 1 は省略するのと同じ効果があります。
  5. 「開始インデックス」が「終了インデックス」より大きく、「ステップサイズ」が負の値の場合、要素が逆に抽出されることを意味します。
  6. 「開始インデックス」と「終了インデックス」が同時に欠落しており、ステップ サイズが「-1」の場合、リスト全体が逆に取得されることを意味します。
    ここに画像の説明を挿入

4. リストの拡張

リストの展開とは主にリストに新しいリストを追加することを指し、主に「+」演算、「*」演算、extend()メソッドの3つのメソッドがあります。
「+」演算:
「+」演算は主に 2 つのリストを接続するために使用されますが、接続に含まれる元の 2 つのリストは変更されておらず、その構文は次のとおりです。

列表1+列表2

"*" 演算:
"*" 演算は、主にリスト内の元の演算を複数回繰り返すために使用されます。"+" 演算と同じですが、代入ステートメントを使用して代入しない限り、結果は保存されません特定のリストにその文法形式は次のとおりです。

列表*n

extend() メソッド:
extend() メソッドは、特定のリストの末尾に新しいリストを直接追加し、元のリストが変更されます。その構文形式は次のとおりです。

列表.extend(新列表)

ここに画像の説明を挿入

5. リストのコピー

リストをコピーするには、主にスライス方法、コピー方法、代入方法の 3 つの方法があります。
スライス方法:
スライス方法は主に、スライス時にデフォルトの開始インデックスと終了インデックスを同時に参照し、それを新しいリストに割り当てます。取得された新しいリストは元のリストとまったく同じです。

列表1=列表2[:]

copy メソッド:
copy メソッドは、コピーによって元のリストの要素を新しいリストに割り当てます。これはディープ コピーであり、新しく生成されたリストは元のリストから完全に独立しています。その構文形式は次のとおりです。

列表1=列表2.copy()

割り当て方法:
リスト間の割り当ては浅いコピーであり、元のリストに新しい名前を追加するだけです。新しいリストと元のリストは元のリストの内容を共有します。元のリストが変更されると、新しいリストにも次の名前が付けられます。同じように変更すると、構文形式は次のようになります。

列表1=列表2

ここに画像の説明を挿入

6. リストを削除する

リストの削除とは、リストの構造を含むリスト全体を削除することを指し、その構文は次のとおりです。

del 列表名

del コマンドを使用すると、特定の要素またはリスト全体を削除できます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_42051846/article/details/131637380