Rumah > pembangunan bahagian belakang > Tutorial Python > Adakah Terdapat Cara yang Lebih Cekap untuk Memutar Senarai Python Daripada Penggabungan?

Adakah Terdapat Cara yang Lebih Cekap untuk Memutar Senarai Python Daripada Penggabungan?

Linda Hamilton
Lepaskan: 2024-12-16 17:30:12
asal
903 orang telah melayarinya

Is There a More Efficient Way to Rotate Python Lists Than Concatenation?

Putaran Senarai Python yang Cekap

Memutar senarai melibatkan peralihan elemennya mengikut bilangan kedudukan tertentu ke kiri atau kanan. Pendekatan biasa, seperti yang ditunjukkan dalam kod yang disediakan, adalah untuk menggabungkan bahagian yang diperlukan dalam senarai asal. Walau bagaimanapun, adakah terdapat kaedah yang lebih cekap?

Memanfaatkan Collections.deque

Collections.deque, direka untuk penambahan dan penyingkiran elemen yang cekap dari kedua-dua hujungnya, menawarkan pengoptimuman penyelesaian untuk penggiliran senarai. Kaedah rotate() terbina dalamnya memudahkan operasi ini.

Dengan menukar senarai asal kepada deque, kami boleh menggunakan kaedah rotate() untuk melakukan putaran yang cekap. Sebagai contoh:

from collections import deque
l = deque([1, 2, 3, 4])
l.rotate(1)  # rotate one position to the right
print(l)  # deque([2, 3, 4, 1])
Salin selepas log masuk

Selain itu, kaedah rotate() boleh dipanggil dengan nilai negatif untuk mengalihkan elemen ke kiri:

l.rotate(-1)  # rotate one position to the left
print(l)  # deque([1, 2, 3, 4])
Salin selepas log masuk

Menggunakan collections.deque menyediakan cara yang mudah dan mekanisme yang cekap untuk memutar senarai dalam Python.

Atas ialah kandungan terperinci Adakah Terdapat Cara yang Lebih Cekap untuk Memutar Senarai Python Daripada Penggabungan?. 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