Merge メソッド: 1. " " 演算子を使用してマージします。構文は "list1 list2" です。 2. extend() を使用してマージします。構文は "list_1.extend(list2)" です。 3.アスタリスクを使用してマージします。構文は「[*list_1,*list2]」です。 4. チェーン関数を使用してマージします。構文は「list(chain(list1,list2))」です。 5. Reduce を使用してマージします。構文は「reduce(add, (リスト1,リスト2))」。
このチュートリアルの動作環境: Windows7 システム、Python3 バージョン、DELL G3 コンピューター
5 を統合Python メソッドのリスト
#1. リストを直接追加する
Python でリストを結合する最も簡単な方法は、次に示すように演算子を直接使用することです。次の例では、:
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_3 = ['Jeff Bezos', 'Warren Buffet'] full_leaders_list = leaders_1 + leaders_2 + leaders_3 print(full_leaders_list) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']
さらに、= 演算子はリストもサポートしています。しかし、ここからが興味深いことになります。次の例を参照してください。
A = B = [1, 2, 3] A += [4] print(A, B) # [1, 2, 3, 4] [1, 2, 3, 4] A = A + [5] print(A, B) # [1, 2, 3, 4, 5] [1, 2, 3, 4]
上記のコードは、特に Python 初心者にとってはわかりにくいかもしれません。
なぜ最初は A が B と等しくなるのに、2 回目では等しくないのですか?
ここにクラスの課題を残してください。すべての生徒が授業後に理由を見つけられることを願っています~
2. リストを展開します
Except = 演算子、リストの結合を使用する簡単な方法は、extend() メソッドを使用することです。
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_1.extend(leaders_2) print(leaders_1) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates']
ちなみに、Python でリストを扱う場合は、append() という別のメソッドもよく使われます。
前の例のメソッドを変更するとどうなるかを見てみましょう:
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_1.append(leaders_2) print(leaders_1) # ['Elon Mask', 'Tim Cook', ['Yang Zhou', 'Bill Gates']]
上で示したように、append() は新しい項目をリストに追加し、extend() Join はリストに新しい項目を追加します。リストと他のリスト。
3. リストをアスタリスクと結合する
Python の最も素晴らしいトリックの 1 つは、スタリスクを使用することです。アスタリスクを使用すると、リストを解凍してまとめることができます。これは、Python でマージされたリストを実装するための、めまいのする (おそらく少し独善的な) 方法です。
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_3 = ['Jeff Bezos', 'Warren Buffet'] full_list = [*leaders_1, *leaders_2, *leaders_3] print(full_list) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']
4. チェーン関数によるリストのマージ
Itertools モジュールのchain 関数は、Python で反復オブジェクトをマージする特別な方法です。一連の反復をグループ化し、結合された反復を返します。リストは反復的でもあるため、chain 関数を使用してリストをマージすることもできます:
from itertools import chain leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_3 = ['Jeff Bezos', 'Warren Buffet'] full_list = list(chain(leaders_1,leaders_2,leaders_3)) print(full_list) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']
5. Reduce 関数を使用してリストをマージします
Python は怠惰なユーザーにとって利点があります人々。私にとって、マージするリストが多すぎるときに書きすぎるのは退屈なので、やりたくありません。この場合、高階関数である Reduce を使用できます。これもまた役に立ちます。
from operator import add from functools import reduce A = [99, 2] B = [0, 5, 1] C = [2077, 2021] D = [0] L = reduce(add, (A, B, C, D)) print(L) # [99, 2, 0, 5, 1, 2077, 2021, 0]
要約
Python でのリストの結合操作は次のとおりです。少なくとも5つの方法があります。必ずしも毎回異なる選択をする必要はありません。ただし、他の人のプログラムを読むと、必ず異なるコーディング スタイルに遭遇します。したがって、同じ操作に対してさまざまな方法を確認することは価値があります。少なくとも、Python の柔軟性と優雅さをそれらから感じることができます。
[関連する推奨事項: Python3 ビデオ チュートリアル]
以上がPythonで2つのリストをマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。