Cara Melipatgandakan Senarai Dalam Python: 7 Cara Pantas

Cara Melipatgandakan Senarai Dalam Python: 7 Cara Pantas

Mendarab senarai dalam Python ialah operasi biasa apabila melakukan pengiraan matematik atau menyelesaikan masalah dalam manipulasi data. Terdapat pelbagai cara untuk mencapai tugas ini, bergantung pada keperluan anda dan perpustakaan yang anda sediakan.

Untuk mendarab senarai dalam Python, anda boleh gunakan untuk gelung, kefahaman senarai, zip dan fungsi peta, atau modul functools terbina dalam. Anda juga boleh menggunakan fungsi daripada perpustakaan Python luaran seperti NumPy.

Artikel ini akan menunjukkan kepada anda pelbagai cara untuk mendarabkan senarai, setiap satu dengan contoh kod dan hasil yang dijelaskan.

Mari kita mulakan!

Isi kandungan

2 Jenis Pendaraban Senarai Berangka dalam Python

Sebelum kita menyelami kaedah khusus, anda harus memahami jenis pendaraban senarai yang mereka capai.

Python mempunyai beberapa konsep berbeza yang berada di bawah istilah umum pendaraban senarai. Itu termasuk mereplikasi senarai atau mencapai Produk Cartesian unsur dalam senarai.

Artikel ini sebaliknya memfokuskan pada dua jenis pendaraban aritmetik unsur dalam senarai:

  1. Pendaraban dengan nilai

  2. Pendaraban dari segi unsur

Mari kita lihat dengan cepat dua konsep ini.

1. Pendaraban Mengikut Nilai

Apabila anda mempunyai senarai integer, anda mungkin mahu mendarab setiap elemen dengan nilai tertentu. Sebagai contoh, anda mempunyai senarai [1, 2, 3] dan anda ingin mendarab setiap elemen dengan nilai 3.

Anda boleh cuba (salah) menggunakan pengendali darab seperti dalam sekeping kod ini:

list1 = [1, 2, 3]
result = list1 * 3

Anda mungkin terkejut bahawa hasilnya ialah [1, 2, 3, 1, 2, 3, 1, 2, 3]. Ini dikenali sebagai replikasi senarai .

2. Pendaraban Senarai Unsur-Bijak

Katakan anda mempunyai dua senarai: [1, 2, 3] dan [4, 5, 6]

Anda ingin mendarabkan elemen pada indeks yang sama dalam senarai untuk menghasilkan [4, 10, 18] sebagai hasilnya.

Jika anda cuba mendarab dua senarai Python bersama menggunakan operator '*', anda akan mendapat ralat:

TypeError: tidak boleh mendarab jujukan dengan bukan jenis 'senarai'

Ini kerana pengendali pendaraban tidak direka bentuk untuk berfungsi dengan senarai seperti yang dilakukan dengan integer atau terapung. Sebaliknya, mendarab senarai memerlukan operasi yang dikenali sebagai pendaraban mengikut unsur.

Pendaraban dari segi elemen memasangkan elemen yang sepadan daripada dua senarai dan mendarabkannya bersama-sama, membentuk senarai baharu.

Sekarang anda memahami kedua-dua konsep ini. mari kita bekerja melalui pelbagai teknik untuk mencapai hasil yang betul.

Cara Menggunakan For Loop kepada Elemen Senarai Berbilang dalam Python

Cara Melipatgandakan Senarai Dalam Python: 7 Cara Pantas

Katakan anda ingin mendarabkan elemen senarai dengan nilai. Untuk pendekatan ini, anda boleh lelaran melalui elemen dengan gelung for dan darab setiap satu dengan nilai kedua.

Berikut ialah contoh dengan satu senarai. Pembolehubah hasil memegang senarai output.

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

Dalam kes ini, senarai keputusan ialah [3, 6, 9, 12].

Cara Menggunakan Pemahaman Senarai untuk Pendaraban

Pemahaman senarai menyediakan cara ringkas untuk melaksanakan jenis berangka bagi pendaraban senarai. Anda mendapat hasil yang sama seperti menggunakan gelung for , tetapi dengan sintaks yang lebih padat.

Berikut ialah contoh sebelumnya menggunakan pemahaman senarai:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

Kod ini menghasilkan output yang sama seperti sebelumnya: [3, 6, 9, 12].

Cara Menggunakan Fungsi Zip untuk Pendaraban Bijak Unsur

Cara Melipatgandakan Senarai Dalam Python: 7 Cara Pantas

Jika anda mempunyai dua senarai integer, anda mungkin mahu mendarabkan senarai mengikut elemen. Ini bermakna anda mendarabkan elemen pertama dalam senarai pertama dengan elemen pertama dalam senarai kedua dan seterusnya dengan elemen dalam kedudukan yang sama.

Fungsi zip() boleh mencapai ini apabila anda menggabungkannya dengan pemahaman senarai.

Fungsi ini menggabungkan elemen dua senarai input, membolehkan anda menggelungkannya secara selari. Berikut ialah contoh menggunakan senarai dengan saiz yang sama:

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

Dalam kes ini, pembolehubah hasil akan memegang senarai terhasil: [4, 10, 18].

Bekerja Dengan Tuple dan Pembina

Kadangkala, anda mungkin perlu bekerja dengan senarai yang mengandungi tupel dan bukannya integer mudah.

Untuk mendarab dua senarai tupel , anda boleh menggunakan gabungan:

  • fungsi zip().

  • pembina tupel

  • senaraikan pemahaman

Berikut ialah contoh:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

Inilah hasilnya: [(5, 12), (21, 32)].

Cara Menggunakan Fungsi Peta dan Lambda dalam Python

Cara Melipatgandakan Senarai Dalam Python: 7 Cara Pantas

Fungsi peta dalam Python ialah cara mudah untuk menggunakan fungsi pada setiap item dalam lelaran seperti senarai.

Fungsi lambda dalam Python ialah fungsi kecil tanpa nama. Ini bermakna ia adalah fungsi tanpa nama.

Untuk mendarab dua senarai mengikut elemen, anda boleh menggabungkan fungsi peta dan lambda:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

Pembolehubah hasil akan memegang senarai berganda: [4, 10, 18].

Cara Menggunakan Modul Operator dalam Python

Modul pengendali menyediakan pelbagai fungsi berguna untuk bekerja dengan struktur dan jenis data yang berbeza.

Fungsi operator.mul() boleh digunakan untuk mendarab senarai integer apabila anda menggabungkannya dengan fungsi peta.

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

Dalam contoh ini, anda mengimport modul operator dan menggunakan fungsi mul() bersama-sama dengan fungsi map() terbina dalam Python untuk mendarab setiap elemen daripada dua senarai.

Pembolehubah hasil akan memegang senarai berganda: [4, 10, 18].

Perpustakaan NumPy: Fungsi Array dan Multiply

Cara Melipatgandakan Senarai Dalam Python: 7 Cara Pantas

Pustaka NumPy ialah perpustakaan luaran yang berkuasa dalam Python, digunakan secara meluas untuk pengiraan berangka dan bekerja dengan tatasusunan. Pustaka ini amat cekap apabila berurusan dengan tatasusunan besar atau tatasusunan berbilang dimensi.

Untuk menggunakan NumPy anda boleh memasangnya menggunakan pip:

pip install numpy

Untuk melakukan pendaraban mengikut unsur dalam dua senarai menggunakan NumPy, ikuti langkah umum ini:

  1. Tukar setiap senarai ke dalam tatasusunan NumPy menggunakan numpy.array() .

  2. Lakukan pendaraban menggunakan fungsi darab NumPy.

  3. Secara pilihan, tukarkan hasilnya kembali kepada senarai Python menggunakan kaedah tolist().

Berikut ialah contoh kod:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

Ini akan mengembalikan hasil yang sama seperti dalam contoh sebelumnya: [4, 10, 18].

Cara Menggabungkan Functools dan NumPy dalam Python

Pustaka functools mengandungi fungsi pengurangan yang menggunakan fungsi tertentu secara kumulatif pada item dalam senarai, mengurangkan senarai kepada satu nilai.

Untuk mendarab dua senarai menggunakan fungsi reduce() , anda boleh menggabungkannya dengan fungsi darab daripada perpustakaan NumPy.

Berikut adalah contoh:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

Kod ini mengimport pustaka yang diperlukan dan menggunakan fungsi reduce() bersama-sama dengan numpy.multiply() untuk melaksanakan pendaraban mengikut unsur bagi kedua-dua senarai.

Bekerja Dengan Senarai dan Struktur Data Lain dalam Python

Kebanyakan aspek analisis data memerlukan kerja dengan senarai, set dan struktur data lain. Sebagai contoh, anda akan menggunakan pengetahuan anda apabila mengendalikan data yang hilang dengan interpolasi.

Lihat video ini untuk beberapa teknik lanjutan:

Fikiran Akhir

Anda telah mempelajari pelbagai kaedah untuk mendarab senarai secara aritmetik dalam Python. Sesetengahnya hanya menggunakan modul dan fungsi terbina dalam, manakala yang lain bergantung pada perpustakaan pihak ketiga.

Keupayaan untuk melakukan pendaraban mengikut unsur membuka pintu kepada pelbagai aplikasi. Daripada analisis data kepada pembelajaran mesin, operasi ini merupakan bahagian penting dalam banyak algoritma dan tugas pengiraan.

Walaupun artikel ini memfokuskan pada pendaraban, konsep yang anda pelajari meluas kepada operasi lain juga. Penambahan, penolakan dan pembahagian mengikut unsur juga boleh dilakukan dengan cara yang sama.

Ingat, cara terbaik untuk mengukuhkan konsep ini adalah dengan menerapkannya — jadi teruskan, hidupkan persekitaran Python anda dan mula bereksperimen. Sama ada anda mengautomasikan tugas, memanipulasi data atau membina perisian yang kompleks, teknik ini sudah pasti akan berguna.

Selamat Menyawa!


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu