Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencipta Senarai dengan Cekap dengan Elemen Berulang dalam Python Tanpa Pemahaman Senarai?

Bagaimanakah Saya Boleh Mencipta Senarai dengan Cekap dengan Elemen Berulang dalam Python Tanpa Pemahaman Senarai?

Linda Hamilton
Lepaskan: 2024-12-19 14:21:13
asal
982 orang telah melayarinya

How Can I Efficiently Create Lists with Repeated Elements in Python Without List Comprehensions?

Menjana Senarai dengan Elemen Berulang

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]
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan