Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Meninggalkan Dua Senarai Panjang Tidak Sama Secara Python?

Bagaimanakah Saya Boleh Meninggalkan Dua Senarai Panjang Tidak Sama Secara Python?

Barbara Streisand
Lepaskan: 2024-12-12 16:41:16
asal
906 orang telah melayarinya

How Can I Pythonically Interleave Two Lists of Unequal Lengths?

Pythonic Interleaving of List

Menggabungkan dua senarai secara berselang-seli ialah tugas biasa dalam pengaturcaraan. Apabila senarai pertama mempunyai satu item lagi daripada yang kedua, terdapat beberapa pendekatan untuk mencapai ini dalam Python. Berikut ialah beberapa pilihan Pythonic:

1. Menggunakan Menghiris:

Satu kaedah ialah menggunakan penghirisan untuk mencipta senarai baharu yang menyilangkan elemen daripada kedua-dua senarai. Ini boleh dilakukan dengan langkah berikut:

  1. Buat senarai baharu dengan panjang yang sama dengan jumlah panjang dua senarai input.
  2. Tetapkan elemen yang diindeks genap daripada senarai baharu kepada item daripada senarai input pertama.
  3. Tetapkan elemen terindeks ganjil senarai baharu kepada item daripada input kedua senarai.

Berikut ialah contoh:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
print(result)
Salin selepas log masuk

Output:

['f', 'hello', 'o', 'world', 'o']
Salin selepas log masuk
Salin selepas log masuk

2. Menggunakan Pakej itertools:

Python's itertools package menyediakan fungsi yang mudah dipanggil islice yang boleh digunakan untuk mengulang elemen senarai dalam selang waktu tertentu. Begini cara anda boleh menggunakannya untuk menyelang dua senarai:

import itertools
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = list(itertools.chain(*itertools.zip_longest(list1, list2)))
print(result)
Salin selepas log masuk

Output:

['f', 'hello', 'o', 'world', 'o']
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meninggalkan Dua Senarai Panjang Tidak Sama Secara Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan