Bagaimana untuk menggabungkan dua senarai dalam python

青灯夜游
Lepaskan: 2023-01-05 17:51:34
asal
15569 orang telah melayarinya

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']
Salin selepas log masuk

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]
Salin selepas log masuk

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']
Salin selepas log masuk

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']]
Salin selepas log masuk

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']
Salin selepas log masuk

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']
Salin selepas log masuk

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]
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!