Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่ารายการถูกจัดเรียงหรือไม่ใน Python


รายการเป็นชุดข้อมูลที่ใช้กันอย่างแพร่หลายที่สุดในไพ ธ อน เราอาจเจอสถานการณ์เมื่อเราต้องการทราบว่ารายการที่กำหนดนั้นได้รับการจัดเรียงแล้วหรือไม่ ในบทความนี้เราจะเห็นแนวทางในการบรรลุเป้าหมายนี้

ด้วยการเรียงลำดับ

เราคัดลอกรายการที่กำหนด ใช้ฟังก์ชันการเรียงลำดับกับรายการนั้น และจัดเก็บสำเนานั้นเป็นรายการใหม่ จากนั้นเราเปรียบเทียบกับรายการเดิมและตรวจสอบว่าเท่ากันหรือไม่

ตัวอย่าง

listA = [11,23,42,51,67]
#Given list
print("Given list : ",listA)
listA_copy = listA[:]
# Apply sort to copy
listA_copy.sort()
if (listA == listA_copy):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")

# Checking again
listB = [11,23,21,51,67]
#Given list
print("Given list : ",listB)
listB_copy = listB[:]
# Apply sort to copy
listB_copy.sort()
if (listB == listB_copy):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list : [11, 23, 42, 51, 67]
Yes, List is sorted.
Given list : [11, 23, 21, 51, 67]
No, List is not sorted.

มีครบทุกช่วง

เราสามารถใช้ฟังก์ชัน all เพื่อตรวจสอบว่าทุกองค์ประกอบในรายการมีขนาดเล็กกว่าองค์ประกอบที่อยู่ติดกันหรือไม่ และใช้ฟังก์ชัน range เพื่อสำรวจองค์ประกอบทั้งหมด

ตัวอย่าง

listA = [11,23,42,51,67]
#Given list
print("Given list : ",listA)
# Apply all and range
if (all(listA[i] <= listA[i + 1] for i in range(len(listA)-1))):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")
# Checking again
listB = [11,23,21,51,67]
print("Given list : ",listB)
# Apply all and range
if (all(listB[i] <= listB[i + 1] for i in range(len(listB)-1))):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list : [11, 23, 42, 51, 67]
Yes, List is sorted.
Given list : [11, 23, 21, 51, 67]
No, List is not sorted.