목록은 파이썬에서 가장 널리 사용되는 데이터 모음입니다. 주어진 목록이 이미 정렬되었는지 여부를 알아야 하는 상황이 발생할 수 있습니다. 이 기사에서는 이를 달성하기 위한 접근 방식을 살펴보겠습니다.
정렬 포함
우리는 주어진 목록의 복사본을 가져 와서 그것에 정렬 기능을 적용하고 그 복사본을 새 목록으로 저장합니다. 그런 다음 원본 목록과 비교하여 동일한지 여부를 확인합니다.
예시
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.