Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem danh sách có đang tăng lên trong Python hay không

Đưa ra một danh sách, chúng ta có thể cần phải kiểm tra trình tự các phần tử của nó. Trong bài viết này, chúng ta sẽ tìm hiểu xem các phần tử có trong danh sách có theo thứ tự tăng dần hay không. Các chương trình dưới đây đạt được mục tiêu đó.

Với tất cả và zip

Trong cách tiếp cận này, đầu tiên chúng ta cắt từng phần tử so sánh giá trị của nó với phần tử tiếp theo được cắt. Nếu tất cả các so sánh như vậy đều đúng thì chúng tôi kết luận danh sách này hoàn toàn theo thứ tự tăng dần.

Ví dụ

 listA =[11,23,42,51,67] #Given listprint ("Danh sách cho:", listA) # Áp dụng tất cả và phạm viif (tất cả (i  

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

 Danh sách đã cho:[11, 23, 42, 51, 67] Có, Danh sách đã được sắp xếp. Danh sách đã cho:[11, 23, 21, 51, 67] Không, Danh sách không được sắp xếp. 

với itertools.starmap

Tạo một trình lặp tính toán hàm bằng cách sử dụng các đối số thu được từ có thể lặp. Chúng tôi nén danh sách các phần tử sau khi cắt từng phần tử một và sau đó chuyển qua toán tử nhỏ hơn bằng. Xin lưu ý rằng chúng tôi đã sử dụng chuỗi thay vì số trong các biểu đồ dưới đây.

Ví dụ

 import operatorimport itertoolslistA =['Mon', 'Tue', 'Sun'] # Given listprint ("Cho danh sách:", listA) # Áp dụng tất cả và phạm vi nếu tất cả (itertools.starmap (operator.le, zip (listA) , listA [1:]))):print ("Đúng, Danh sách được sắp xếp.") else:print ("Không, Danh sách chưa được sắp xếp.") # Kiểm tra lạilistB =['Thứ Hai', 'Chủ Nhật', 'Thứ Ba '] print ("Cho danh sách:", listB) # Áp dụng tất cả và phạm vi nếu tất cả (itertools.starmap (operator.le, zip (listB, listB [1:]))):print ("Có, Danh sách được sắp xếp." ) else:print ("Không, Danh sách không được sắp xếp.") 

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

 Danh sách đưa ra:['Thứ Hai', 'Thứ Ba', 'Chủ Nhật'] Không, Danh sách không được sắp xếp. Danh sách được đưa ra:['Thứ Hai', 'Chủ Nhật', 'Thứ Ba'] Có, Danh sách đã được sắp xếp.