Putaran Senarai yang Cekap dalam Python
Apabila memutar senarai, pendekatan standard adalah untuk menghiris senarai pada titik putaran yang dikehendaki dan menggabungkan semula segmen yang terhasil. Walau bagaimanapun, terdapat pilihan yang lebih cekap tersedia.
Menggunakan Collections.deque
Pustaka standard Python menyediakan struktur data collections.deque, dioptimumkan untuk operasi di kedua-dua hujung daripada senarai itu. Ia menampilkan kaedah rotate() khusus untuk putaran senarai yang cekap.
Pertimbangkan kod berikut:
from collections import deque items = deque([1, 2, 3]) items.rotate(1) # Rotate the deque to the right by 1 position print(items) # Output: deque([3, 1, 2])
Kaedah ini menawarkan kelebihan prestasi yang ketara berbanding teknik penghirisan standard, terutamanya untuk senarai yang lebih besar.
Menggunakan Algoritma Putar
Sebagai alternatif, algoritma khusus wujud untuk penggiliran senarai. Salah satu algoritma sedemikian ialah putaran kitaran, yang melibatkan berulang kali menukar elemen pertama dan terakhir senarai.
Berikut ialah pelaksanaan dalam Python:
def cyclic_rotate(lst, n): """Rotates the list by n positions.""" n = n % len(lst) for i in range(n): lst[0], lst[-1] = lst[-1], lst[0] return lst
Algoritma ini melakukan pertukaran masa yang berterusan dan sesuai untuk senarai yang lebih kecil atau apabila faktor putaran diketahui lebih awal.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Memutar Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!