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
Linda Hamiltonasal
2024-12-16 17:30:12988semak imbas

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])

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])

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!

Kenyataan:
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