Python/Analysis to Python

[sort, sorted] : 정렬 함수

샰롯 2022. 5. 29. 02:40
.sort()
Signature:
.sort(*, key=None, reverse=False)
Docstring: Sort the list in ascending order and return None.
.sort()
  • list를 정렬해주는 함수
  • . 앞에 정렬할 list를 입력
  • 기존 list를 정렬하여 저장한다.
    →                반환값은 없다.
  • key = 
                    정렬할 기준을 정해줄 수 있다.
    →               (정령할 기준은 함수로 전달받는다.)
  • reverse =
                  True : 내림차순
                  False : 오름차순(기본설정값)

사용예제:
a = [1, 3, 5, 4, 2, 1]
a.sort()
print(a)
[1, 1, 2, 3, 4, 5]

 

reverse = 
a = [1, 3, 5, 4, 2, 1]
a.sort(reverse = True)
print(a)
[5, 4, 3, 2, 1, 1]

 

key= 함수입력
def x(n):
    """
    2로 나눈 나머지
    짝수 : 0
    홀수 : 1
    """
    return n%2

a = [1, 3, 5, 4, 2, 1]
a.sort(key = x)
print(a)

 

# lambda 사용
a = [1, 3, 5, 4, 2, 1]
a.sort(key = lambda n : n%2)
print(a)
[4, 2, 1, 3, 5, 1]

 

 


sorted()
Signature:
 sorted(iterable, /, *, key=None, reverse=False)
Docstring: Return a new list containing all items from the iterable in ascending order.
sorted()
  • int Type을 제외한 모든 Type을 정렬해주는 함수
  • () 괄호안에 정렬할 list를 입력
  • 새로운 list로 반환한다.
    →                list Type으로 반환.
  • key = 
                    정렬할 기준을 정해줄 수 있다.
    →               (정령할 기준은 함수로 전달받는다.)
  • reverse =
                  True : 내림차순
                  False : 오름차순(기본설정값)

사용예제:

문자열(string):

a = '135421'
print(sorted(a))
['1', '1', '2', '3', '4', '5']

 

튜플(tuple)

a = (1, 3, 5, 4, 2, 1)
print(sorted(a))
[1, 1, 2, 3, 4, 5]

 

조합(set)

a = {1, 3, 5, 4, 2, 1}
print(sorted(a))
[1, 2, 3, 4, 5]

 

리스트(list)

a = [1, 3, 5, 4, 2, 1]
print(sorted(a))
[1, 1, 2, 3, 4, 5]

 

딕셔너리(dict)

a = {
    'b' : 1,
    'a' : 2,
 }
print(sorted(a.items()))
print(sorted(a.keys()))
print(sorted(a.values()))
[('a', 2), ('b', 1)]
['a', 'b']
[1, 2]

 

reverse = 
a = [1, 3, 5, 4, 2, 1]
print(sorted(a, reberse = True)
[5, 4, 3, 2, 1, 1]

 

key= 함수입력
def x(n):
    """
    2로 나눈 나머지
    짝수 : 0
    홀수 : 1
    """
    return n%2

a = [1, 3, 5, 4, 2, 1]
print(sorted(a, key = x))

 

# lambda 사용
a = [1, 3, 5, 4, 2, 1]
print(sorted(a, key = lambda n : n%2))
[4, 2, 1, 3, 5, 1]