Mô-đun Python's array định nghĩa lớp mảng. Một đối tượng của lớp mảng tương tự như mảng trong Java hoặc C/C++. Không giống như các chuỗi tích hợp sẵn của Python, mảng là một tập hợp đồng nhất của strings , hoặc số nguyên, hoặc đối tượng số thực.
Lớp mảng không có bất kỳ hàm/phương thức nào để cung cấp một sắp xếp các phần tử của nó. Tuy nhiên, chúng ta có thể đạt được điều này bằng một trong các cách tiếp cận sau đây −
Sử dụng một thuật toán sắp xếp
Sử dụng phương pháp sort() từ List.
Sử dụng hàm tích hợp sẵn sorted() .
Hãy cùng thảo luận chi tiết về từng phương pháp này.
Chúng tôi triển khai bubble sort algorithm cổ điển để thu được mảng đã sắp xếp. Để làm điều đó, chúng tôi sử dụng hai nested loops và hoán đổi các phần tử để sắp xếp theo thứ tự.
Chạy đoạn mã sau bằng cách sử dụng trình biên tập mã Python −
import array as arr a = arr.array('i', [10,5,15,4,6,20,9]) for i in range(0, len(a)): for j in range(i+1, len(a)): if(a[i] > a[j]): temp = a[i]; a[i] = a[j]; a[j] = temp; print (a)
Nó sẽ tạo ra output −
array('i', [4, 5, 6, 9, 10, 15, 20])
Mặc dù mô-đun array không có phương thức sort() , nhưng lớp List tích hợp sẵn của Python có phương thức sort. Chúng ta sẽ sử dụng nó trong ví dụ tiếp theo.
Đầu tiên, khai báo một mảng và lấy một đối tượng danh sách từ nó, sử dụng phương thức tolist() . Sau đó, sử dụng phương thức sort() để có được một danh sách đã được sắp xếp. Cuối cùng, tạo một mảng khác bằng cách sử dụng danh sách đã được sắp xếp, điều này sẽ hiển thị một mảng đã được sắp xếp.
Đoạn mã sau đây cho thấy cách lấy mảng đã sắp xếp bằng cách sử dụng phương thức sort().
import array as arr # creating array orgnlArray = arr.array('i', [10,5,15,4,6,20,9]) print("Original array:", orgnlArray) # converting to list sortedList = orgnlArray.tolist() # sorting the list sortedList.sort() # creating array from sorted list sortedArray = arr.array('i', sortedList) print("Array after sorting:",sortedArray)
Mã trên sẽ hiển thị đầu ra sau đây −
Original array: array('i', [10, 5, 15, 4, 6, 20, 9]) Array after sorting: array('i', [4, 5, 6, 9, 10, 15, 20])
Kỹ thuật thứ ba để sắp xếp một mảng là sử dụng hàm sorted() , đây là một built-in function .
Chức năng syntax của hàm sorted() như sau −
sorted(iterable, reverse=False)
Hàm này trả về một danh sách mới chứa tất cả các mục từ iterable theo thứ tự tăng dần. Đặt tham số reverse thành True để nhận được thứ tự giảm dần của các mục.
Hàm sorted() có thể được sử dụng cùng với bất kỳ iterable nào. Mảng Python là một iterable vì nó là một tập hợp có chỉ số. Do đó, một mảng có thể được sử dụng làm tham số cho hàm sorted().
Trong ví dụ này, chúng ta sẽ xem cách sử dụng phương thức sorted() để sắp xếp một mảng.
import array as arr a = arr.array('i', [4, 5, 6, 9, 10, 15, 20]) sorted(a) print(a)
Nó sẽ tạo ra output −
array('i', [4, 5, 6, 9, 10, 15, 20])