Mencipta Senarai Item Berulang Dengan Cekap
Dalam Python, mencipta senarai dengan elemen berulang adalah tugas biasa. Satu kaedah ialah menggunakan pemahaman senarai, cth., [e untuk nombor dalam julat(n)]. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap, terutamanya untuk senarai besar.
Pendekatan Alternatif
Alternatifnya ialah menggunakan kaedah ulangan terbina dalam Python daripada modul itertools:
itertools.repeat(e, n)
Ini mencipta objek yang menjana nilai berulang e atas permintaan. Untuk mendapatkan senarai, cuma tukarkannya:
list(itertools.repeat(e, n))
Pertimbangan Prestasi
Sementara ulangan mungkin pada mulanya muncul lebih cepat daripada kaedah pendaraban senarai ([e] * n) , ia mencipta objek dan bukannya senarai konkrit. Untuk mencipta senarai, ia perlu ditukar.
[e] * n
Pendekatan ini terus mencipta senarai yang diisi dengan n salinan e.
Ujian Prestasi
Ujian prestasi mendedahkan bahawa untuk senarai besar, pendaraban senarai adalah ketara lebih cepat:
## repeat() timeit.timeit('itertools.repeat("foo", 1000000)', number=1000) 0.4600000247131665 ## [e] * n timeit.timeit('["foo"] * 1000000', number=1000) 0.19000002993464403
Kesimpulan
Untuk mencipta senarai besar item berulang, mendarab senarai item tunggal ([e] * n) ialah pilihan optimum kerana kepada prestasi unggulnya.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mencipta Senarai Besar Item Berulang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!