Dalam Python, mencipta berbilang senarai yang mengandungi elemen berulang yang sama boleh dicapai dalam pelbagai cara. Perbincangan ini meneroka kaedah yang memintas pemahaman senarai.
Penyelesaian:
Python menyediakan operator * untuk meniru elemen. Untuk membuat senarai yang diisi dengan n kejadian unsur e, hanya gunakan ungkapan [e] * n.
Contoh:
e = 5 list_of_e = [e] * 10 # [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
Nota:
Jika e ialah senarai kosong, kaedah ini akan mencipta senarai dengan n rujukan kepada senarai kosong yang sama. Menyediakan senarai kosong bebas memerlukan pendekatan yang berbeza.
Penilaian Prestasi:
Walaupun itertools.repeat() pada mulanya mungkin muncul lebih pantas, ia memerlukan penukaran kepada senarai untuk melakukan perbandingan . Operator * terus mengembalikan senarai, menghasilkan prestasi yang lebih baik:
import timeit n = 1000000 timeit.timeit('[0] * 10', number=n) # Faster timeit.timeit('list(itertools.repeat(0, 10))', number=n) # Slower
Kesimpulan:
Untuk membuat senarai elemen berulang tanpa pemahaman senarai, manfaatkan operator * , yang menawarkan penyelesaian yang ringkas dan cekap. Apabila memerlukan penjanaan unsur malas, pertimbangkan itertools.repeat().
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Senarai dengan Cekap dengan Elemen Berulang dalam Python Tanpa Pemahaman Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!