Pythonで2つのリストをマージする方法

青灯夜游
リリース: 2023-01-05 17:51:34
オリジナル
15569 人が閲覧しました

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))」。

Pythonで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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!