Appia의 IT세상

파이썬[Python] 049 리스트에서 맴버 정렬하기(sort,sorted) 본문

Python/Python 응용

파이썬[Python] 049 리스트에서 맴버 정렬하기(sort,sorted)

Appia 2020. 2. 26. 08:39
반응형

오늘 포스팅은 리스트 맴버에 관련된 내용에 대해서 이야기를 또 해보고자 합니다. 최근에 센서 데이터를 로깅한 파일을 바탕으로 값의 변동을 주기를 파악하고자 했습니다. 그러던 중, 최대값 최소값을 구하는 것을 하다가 과연 값을 정렬해서 보기로 하면서 생각했던 함수들에 대해서 이야기를 해보고자 합니다. 

 

먼저, 각 리스트의 맴버를 정렬하는 방법은 다음과 같이 2가지가 있습니다. 

  1. sort - 리스트내에서 정렬하는 방법
  2. sorted - 리스트의 맴버를 정렬하여 반환하는 방법 

 

위의 2가지 형태로 리스트의 맴버를 정렬할 수 있습니다. 그럼 각각을 한번 살펴보도록 하겠습니다. 

 

리스트내에서 정렬하는 방법 

이 부분은 별도로 반환하는 값은 없습니다. 단, 그 리스트 내에서 값을 변형해버리는 것이 특징입니다. 그럼 이번에는 난수를 발생해서, 이를 정렬해보도록 하겠습니다. 다음 링크에서 난수 발생하는 random 모듈에 대해서 참조하겠습니다. 

random 모듈 : https://appia.tistory.com/93

 

파이썬[Python] 013 로또(lotto) 번호 생성기 만들기와 random 모듈

거의 대부분의 직장인의 꿈은 로또 1등이거나 한방에 큰 거금이 들어오는 것일 수 있습니다. 저 또한 매주 로또를 구매 하는 편입니다. 오늘은 로또 번호를 생성하는 코드를 작성해보도록 하겠습니다. (물론, 저의..

appia.tistory.com

그럼 다음 예시를 살펴보겠습니다. 

1
2
3
4
5
6
7
8
9
10
11
12
import random
LottorNumber = []
 
while len(LottorNumber) < 10 :
    V = random.randint(1,100)
    LottorNumber.append(V)
 
print(LottorNumber)
LottorNumber.sort()    #정렬하기 
print(LottorNumber)
LottorNumber.sort(reverse=True)
print(LottorNumber)
cs

다음 예시의 결과는 다음과 같습니다. 

1
2
3
[7275221789225384190]
[8172222415372758990]
[9089757253412222178]
cs

위의 결과를 보면 정렬하기를 통해서 나타나는 차이를 알 수 있습니다. 그럼 위의 코드에서 sort에 reverse라는 parameter를 사용하여 내림차순으로 적용할 수 있는 방법입니다. 물론 기본적으로 올림차순형태로 적용을 하게 되어 있습니다. 

 

리스트의 맴버를 정렬하여 반환하는 방법

sorted()라는 함수를 이용하여 리스트 맴버를 정렬하여 별도의 리스트로 반환하는 함수입니다. 따라서 위의 함수의 경우 원래의 리스트를 수정해버리지만, 이 경우에는 기존의 데이터는 유지한채 별도의 데이터를 반환합니다. 그럼 다음과 같은 예제를 살펴보겠습니다. 

1
2
3
4
5
6
7
8
9
10
11
12
import random
LottorNumber = []
 
while len(LottorNumber) < 10 :
    V = random.randint(1,100)
    LottorNumber.append(V)
 
SortedNumber=sorted(LottorNumber)
RSortedNumber=sorted(LottorNumber,reverse=True)
print(LottorNumber)
print(SortedNumber)
print(RSortedNumber)
cs

위의 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다. 물론 sort()에서와 같이 reverse 옵션을 동일하게 적용할 수 있습니다. 

1
2
3
[94545597888224591530]
[15243054555982889497]
[97948882595554302415]
cs

 

다음과 같이 리스트의 맴버를 정렬하는 방법에 대해서 한번 살펴봤습니다. 물론 잘 사용하시면, 이 부분은 매우 유용하게 사용할 수 있을 것이라고 생각합니다. 혹 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments