Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
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:
Pendaraban dengan nilai
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
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
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
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
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:
Tukar setiap senarai ke dalam tatasusunan NumPy menggunakan numpy.array() .
Lakukan pendaraban menggunakan fungsi darab NumPy.
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
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.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
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.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
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