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 함수를 사용하여 목록의 모든 요소가 옆에 있는 요소보다 작은지 확인하고 범위 함수를 적용하여 모든 요소를 ​​순회할 수 있습니다.

예시

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.