포시코딩

1월7일 - count, sort, sorted 본문

TIL

1월7일 - count, sort, sorted

포시 2023. 1. 7. 04:44
728x90

Python

count()

str.count(x)
list.count(x)

str, list에 대해 x가 몇개 존재하는지 카운트 해주는 함수

 

sort(), sorted()의 매개변수

reverse=True(내림차순)

정렬할 때 쓰이는 sort()와 sorted()에 대해 매개변수를 주면 

정렬하는 방식이 바뀐다는 사실을 알게 되었다.

num_list = [15, 22, 8, 79, 10]
num_list.sort(reverse=True)
print(num_list)  # [79, 22, 15, 10, 8]

평소에는 default로 reverse=False가 되게끔 사용하여 오름차순이 되지만

reverse=True를 주면 내림차순이 되는걸 확인할 수 있다.

 

key

정렬을 목적으로 하는 함수를 값으로 넣는다. lambda를 사용할 수 있다.

key 값을 기준으로 정렬되고, 기본값은 오름차순이다.

str_list = ['banana', 'code', 'dog', 'apple']

# 함수
print(sorted(str_list, key=len))  
# ['dog', 'code', 'apple', 'banana']

# lambda
print(sorted(str_list, key=lambda x : x[2]))  
# ['code', 'dog', 'banana', 'apple']

여러 개의 요소를 가진 경우 튜플로 사용할 수 있다는데 잘 이해는 가지 않지만 예제는 정리해본다.

tuple_list = [
    ('banana', 0),
    ('code', 1), 
    ('dog', 5), 
    ('apple', 3)
]
                  
tuple_list.sort(key=lambda x : (x[0], x[1]))
print(tuple_list)
# [('apple', 3), ('banana', 0), ('code', 1), ('dog', 5)]

+ lambda의 계산식 부분에 두 번째 요소에 대해 이해가 가지 않았는데 

알아보니, 

x[0]에 대해 정렬한 후 같은 값에 대해 그 안에서 다시 x[1]에 대해 오름차순으로 정렬하는 것을 의미했다.

 

 

 

도움받은 곳

https://ooyoung.tistory.com/59

 

파이썬 정렬 함수 sort, sorted _ key = lambda, function / reverse= 파라미터 이용 방법 (Python)

파이썬 정렬 함수 - 순서 - 1. sort 2. sorted 3. reverse 사용 예시 4. key function, lambda 사용방법 1. sort 원본을 변형시켜 정렬한다. '변수. sort( )' 형태로 사용. 정렬 기준은 문자열은 알파벳, 가나다순이고

ooyoung.tistory.com

https://wooono.tistory.com/501

 

[Python] Lambda 를 사용한 다중 조건 정렬

들어가기 앞서, 일반적으로 Python 정렬은, sorted() 또는 .sort() 를 사용합니다. 해당 포스트에선, Lambda 를 사용해 여러 조건으로 정렬하는 방법에 대해서 다뤄보겠습니다. 예제 코드 a = [(1, 3), (0, 3),

wooono.tistory.com

728x90

'TIL' 카테고리의 다른 글

1월9일  (0) 2023.01.09
1월8일 - 이 날의 다짐을 잊지 말자  (0) 2023.01.08
1월6일  (0) 2023.01.07
1월5일  (0) 2023.01.05
1월4일  (0) 2023.01.04