Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan dua senarai dalam python

Bagaimana untuk menggabungkan dua senarai dalam python

青灯夜游
青灯夜游asal
2023-01-05 17:20:3015536semak imbas

Kaedah gabungan: 1. Gunakan operator "+" untuk bergabung, sintaksnya ialah "list1+list2"; 2. Gunakan extend() untuk bergabung, sintaksnya ialah "list_1.extend(list2)"; 3. Gunakan Asterisk untuk menggabungkan, Sintaks "[*list_1,*list2]"; 4. Gabung melalui fungsi rantai, sintaks "senarai(senarai1, senarai2))"; (senarai1, senarai2))" .

Bagaimana untuk menggabungkan dua senarai dalam python

Persekitaran pengendalian tutorial ini: sistem windows7, versi python3, komputer DELL G3

5 daripada senarai yang digabungkan dalam Kaedah Python

1 Terus menambah senarai

Cara paling mudah untuk menggabungkan senarai dalam Python ialah dengan menggunakan operator + secara terus, seperti yang ditunjukkan dalam contoh berikut Perwakilan:

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']

Selain itu, pengendali += juga menyokong senarai. Tetapi, di sinilah perkara menjadi menarik. Lihat contoh berikut:

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]

Kod di atas mungkin mengelirukan, terutamanya untuk pemula Python.

Mengapakah A bersamaan dengan B pada kali pertama tetapi bukan untuk kali kedua?

Tinggalkan tugasan kelas di sini, saya harap anda dapat mencari sebab selepas kelas~

2 Kembangkan senarai

Kecuali += operasi Dalam Selain itu, cara mudah untuk menggunakan penggabungan senarai adalah dengan menggunakan kaedah 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']

Dengan cara ini, kaedah lain yang dipanggil append () juga popular apabila berurusan dengan senarai dalam Python.

Mari kita lihat apa yang berlaku jika kita menukar kaedah contoh sebelumnya:

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']]

Seperti yang ditunjukkan di atas, append() menambah item baharu pada senarai, manakala extend ( ) menyertai senarai dengan senarai lain.

3. Gabungkan Senarai dengan Asterisk

Salah satu helah paling indah dalam Python ialah menggunakan sterisk. Dengan bantuan asterisk, kami boleh membongkar senarai dan meletakkannya bersama-sama. Ini adalah cara yang memeningkan (mungkin sedikit sombong) untuk melaksanakan senarai gabungan dalam 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. Gabungkan senarai melalui fungsi rantai

Fungsi rantai dalam modul Itertools ialah cara khas untuk menggabungkan objek lelaran dalam Python. Ia mengumpulkan siri lelaran dan mengembalikan lelaran gabungan. Kerana senarai juga berulang, kita juga boleh menggunakan fungsi rantai untuk menggabungkan senarai:

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 Gabungkan senarai melalui fungsi Kurangkan

Python malas Kebajikan. . Bagi saya, menulis terlalu banyak + adalah membosankan apabila terdapat terlalu banyak senarai untuk digabungkan dan saya tidak mahu berbuat demikian. Dalam kes ini, kita boleh menggunakan fungsi tertib yang lebih tinggi - kurangkan, yang menjimatkan kita semula:

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]

Ringkasan

Gabungkan senarai dalam Python Terdapat sekurang-kurangnya 5 cara untuk beroperasi. Kami tidak semestinya memilih secara berbeza setiap masa. Walau bagaimanapun, apabila membaca program orang lain, anda pasti akan menghadapi gaya pengekodan yang berbeza. Oleh itu, adalah berfaedah untuk memeriksa kaedah yang berbeza untuk operasi yang sama. Sekurang-kurangnya, kita dapat merasakan fleksibiliti dan keanggunan Python daripada mereka

[Cadangan berkaitan: Tutorial video Python3]

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan dua senarai dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn