


Bagaimana untuk Cekap Mengulang Pasangan Bertindih (dan Tiga Kali ganda) dalam Senarai Python?
Cara Mengulang Pasangan Nilai Bertindih daripada Senarai
Apabila bekerja dengan senarai dalam Python, selalunya perlu mengulang nilai secara berpasangan. Pendekatan biasa ialah menggunakan konstruk seperti:
for current, next in zip(the_list, the_list[1:]): # Do something
Semasa kod ini berfungsi, terdapat penyelesaian yang lebih idiomatik dan cekap menggunakan fungsi berpasangan daripada modul itertools. Berikut ialah pelaksanaan Python 3.8 yang disemak semula:
import itertools def pairwise(iterable): "s -> (s0, s1), (s1, s2), (s2, s3), ..." a, b = itertools.tee(iterable) next(b, None) return zip(a, b)
Untuk Python 2, gunakan itertools.izip dan bukannya zip (memandangkan zip dalam Python 2 mencipta senarai dan bukannya lelar malas).
The fungsi berpasangan berfungsi dengan mencipta dua iterator selari, a dan b, menunjuk kepada elemen pertama yang sama. b kemudian maju selangkah ke hadapan menggunakan seterusnya. Fungsi izip menggabungkan elemen daripada dua iterator untuk membentuk pasangan bertindih.
Pendekatan ini juga boleh digeneralisasikan untuk mengendalikan "tetingkap" nilai yang lebih besar. Sebagai contoh, untuk mengulang tiga kali ganda nilai, gunakan fungsi berikut:
def threes(iterator): "s -> (s0, s1, s2), (s1, s2, s3), (s2, s3, 4), ..." a, b, c = itertools.tee(iterator, 3) next(b, None) next(c, None) next(c, None) return zip(a, b, c)
Kaveat: Adalah penting untuk ambil perhatian bahawa jika salah satu iterator maju lebih jauh daripada yang lain disebabkan oleh penggunaan seterusnya, pelaksanaan akan menyimpan elemen yang digunakan dalam ingatan sehingga semua iterator telah menggunakan elemen tersebut.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mengulang Pasangan Bertindih (dan Tiga Kali ganda) dalam Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Forhandlinglargedatasetsinpython, usenumpyarraysforbetterperformance.1) numpyarraysarememory-efisien danfasterfornumumerical.2) mengelakkan yang tidak dapat dipertahankan.3)

Inpython, listsusedynamicMemoryAllocationwithover-peruntukan, pemecahan yang tidak dapat dilaksanakan.1) listsallocatemoremoremorythanneedinitial, resizingwhennessary.2) numpyarraysallocateExactMemoreForelements, menawarkanpredictableSabeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeat.

Inpython, YouCansspectHedatypeyFeleMeremodelerernspant.1) Usenpynernrump.1) usenpynerp.dloatp.ploatm64, formor preciscontrolatatypes.

Numpyisessentialfornumericalcomputinginpythonduetoitsspeed, ingatanefisiensi, dancomprehensivemathematicalfunctions.1) it'sfastbeCauseitperformsoperatiation

Contiguousmemoryallocationiscialforarraysbecauseitallowsficientandfastelementaccess.1) itenablesconstantTimeAccess, O (1), duetodirectaddresscalculation.2) itimproveScheFiCiencyBymultmulteLemiSphetfespercacheline.3)

Slicingapythonlistisdoneusingthesyntaxlist [Mula: berhenti: langkah] .here'showitworks: 1) startistheindexofthefirstelementtoinclude.2) stopistheindexofthefirstelementToexclude.3)

NumpyallowsforvariousoperationsonArrays: 1) BasicarithmeticLikeaddition, penolakan, pendaraban, danDivision; 2) Pengerjaan AdvancedSuchasmatrixmultiplication; 3) Element-WiseOperationswithoutExplicitLoops;

Arraysinpython, terutamanya yang ada, adalah, penawaran yang ditawarkan.1) numpyarraysenableFandlingoflargedataSetsandClexPleperationsLikemovingAverages.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa
