ホームページ >バックエンド開発 >Python チュートリアル >Pythonでリストを操作する一般的な方法のまとめ
以下は、リストを操作するために一般的に使用されるメソッドのリストと簡単な例です:
1. 追加
リストの最後に要素を追加するには、リストの最後に要素を追加する必要があります。いくつかの点に注意してください:
A. 追加で追加されるパラメータは全体としては
>>> name = list("scott")
>>> name
['s', 'c' , 'o', 't', 't']
> >> name.append(list("tiger"))
>>> name
['s', 'c', 'o', 't', 't', [' ', 't', 'i', 'g', 'e', 'r']]
取得された値は次ではありません: ['s', 'c ', 'o', 't', 't', ' ', 't ', 'i', 'g', 'e', 'r']
この方法で追加したい場合は、スライスの割り当て (または後述の extend メソッド) を試すことができます:
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't' , 't']
>>> name[len(name):] = list("tiger") #末尾から
>>>を追加 name
['s', 'c', 'o' , 't', 't', ' ', 't', 'i' , 'g', 'e', 'r']
B.append は一度に 1 つの要素のみ追加できます
> >> name = list("scott")
>>> name
['s' , 'c', 'o', 't', 't']
>>> name.append("A ","B") #複数の要素を追加するとエラーが報告されます
トレースバック (最後の呼び出し) :
ファイル ""、行 1、?
TypeError: append() は引数を 1 つだけ取ります (2与えられた)
>>> name.append("A")
>>> name
[' s', 'c', 'o', 't', 't', 'A']
2. Count
リスト内に要素が出現する回数をカウントします
>>> name = list ("scott")
>>> name
['s', 'c', 'o ', 't', 't']
>>> name.count('s')
> >> name.count("t")
>>> name.count("A")
>>> name.append(list("Python"))
>>> name
['s ', 'c', 'o', 't', 't', ['P', ' y', 't', 'h', 'o', 'n']]
>>> name .count(['P', 'y', 't', 'h', 'o', 'n'])
3. 拡張
元のリストに複数の値を別のシーケンスで追加します
>>> name = list("scott")
>>> name
['s ', 'c', 'o', 't', 't']
>>> name.extend (list("tiger"))
>>> name
['s', 'c' , 'o', 't', 't', ' ', 't', 'i', 'g ', 'e', 'r']
もちろん、スライス割り当てを使用して達成することもできますこれ:
>>> name = list("scott")
>>> name
['s', ' c', 'o', 't', 't']
>>> name [len(name):] = list("tiger")
>>> name
['s', 'c ', 'o', 't', 't', ' ', 't', 'i', 'g', 'e', 'r']
このとき、友達は直接できると思うでしょう演算子「+」を使用する方が便利です:
>>> name = list ("スコット")
>>> pwd = list("tiger")
>>> 名前 + pwd
[' s', 'c', 'o', 't', 't', ' ', 't', 'i', 'g', 'e', 'r']
>>> 名前
['s', 'c', 'o', 't', 'これら 3 つの操作の出力から、次のことがわかります:
extend とスライス代入はどちらも元のリストを比較的変更します。一般的に言えば、extend の方が読みやすく、演算子 "+" は新しいリストを生成します。元のリストに影響を与えずに新しいリストを生成する必要がある場合は、演算子 "+" を使用できます。
4.Index
リストから特定の値に最初に一致する項目 (最初に注目してください) のインデックス位置を見つけます
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.index('t') ##最初の文字 t のインデックス位置は 3 です
>>> name.index('a')
トレースバック (最後の呼び出し):
ファイル ""、行 1、?
ValueError: list.index(x): x がリストにありません
>>> 'a' in name
False
>>> 'a' not in name
True
出力からわかるように、index は最初に一致する項目のインデックス位置を探しています。検索対象の要素がリストにない場合は、エラーが報告されます (-1 を返したほうがよいでしょうか?)。もちろん、エラーの報告を避けたい場合は、まず in 操作を使用してかどうかを判断できます。要素がリスト内にある場合は、インデックス操作を実行します。
5. Insert
は、2 つのパラメーターを使用してリストにオブジェクトを挿入するために使用されます。1 つ目はインデックス位置、2 つ目は挿入された要素オブジェクトです。
>>> name = list("スコット")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.insert(2,'tiger') ##インデックス 2 に、 string Tiger where
>>> name
['s', 'c', 'tiger', 'o', 't', 't']
スライス割り当ても使用できます:
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name[2:2 ] = [ 'tiger']
>>> name
['s', 'c', 'tiger', 'o', 't', 't']
>>> name[2:2 ] = 'タイガー'
>>>名前
['s', 'c', 't', 'i', 'g', 'e', 'r', 'tiger', 'o', ' t', 't']
ここで注意する必要があるのは、要素を挿入する場合は [] で囲む必要があることです。そうでない場合、文字列を直接使用する場合は、文字列のリストを挿入することになります。インデックス位置の後に追加します。
もちろん、スライス割り当てよりも挿入の方が読みやすいです。
6. Pop
リストから要素 (最後の要素) を削除し、要素の値を返します
>>> name = list("scott")
>>> name
[ ' s', 'c', 'o', 't', 't']
>>> name.pop()
't'
>>> name
['s', 'c ' , 'o', 't']
>>> name.append("t")
>>> name
['s', 'c', 'o', 't', 't ' ]
スライス割り当てシミュレーション Pop:
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't ']
>>> name[len(name)-1:] = []
>>> name
['s', 'c', 'o', 't']
これをポップと上で使用してくださいappend は、スタックの先入れ先出し LIFO をシミュレートします。
7. 削除
リスト内の特定の値に最初に一致する項目を削除します。等しい要素が 2 つある場合は、一致する要素のみを削除します。要素がリストに存在しない場合は、エラーが発生します。報告されており、一度に削除できる要素は 1 つだけです。
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.remove ("t") #最初の t を削除します
>>> name
['s', 'c', 'o', 't']
>>> name.remove("A") # If存在しない場合、エラーが報告されます
トレースバック (最後の呼び出し):
ファイル ""、行 1、?
ValueError: list.remove(x): x がリストにありません
>> > "A" は name にありません
True
>>> name.remove("s","c") #一度に削除できる要素は 1 つだけです
Traceback (most last call last):
File ""、行 1、?
TypeError:remove() は引数を 1 つだけ受け取ります (2 つ指定されます)
8.Revense
リスト内の要素を反転します
>>> name = list("scott" )
>>> name
['s', 'c', 'o', 't', 't']
>>> name.reverse()
>>> name
[' t', 't', 'o', 'c', 's']
9. 並べ替えと並べ替え
sort メソッドは、リストの並べ替え、元のリストの変更に使用されます。リストのソートされたコピー
>>> result = [8,5,5,3,9]
>>> result.sort()
>>> result
[3, 5, 5, 8, 9]
元のリストに影響を与えずにソートされたリストのコピーを返したい場合、1 つの方法は、最初に元のリストを割り当ててから (スライス割り当てを使用してコピーできます)、その後、
ソート操作を実行します。別の方法は、並べ替えられたリストのコピーを返すsorted関数を使用することです:
>>> result = [8,5,5,3,9]
>>> result2 = selected (結果)
>>> 結果
[8, 5, 5, 3, 9]
>>> 結果2
[3, 5, 5, 8, 9]