반응형
max
max(list)는 리스트에서 제일 큰 값을 반환한다.
그런데 key를 지정해서 인자로 넣어주면 기준을 정해줄 수 있다.
max(list, key=list.count)를 하면
요소의 개수가 가장 큰 값을 반환한다.(가장 많이 나온 값)
nums = [1,2,1,1,2,3]
print( max(nums) )
print( max(nums, key=nums.count) )
# 결과
# 3
# 1
max를 사용할 때는 리스트를 set으로 바꿔주는게 좋다.
set은 중복을 제거하기때문에 위의 경우에는 .count를 3번만 확인하기 때문이다.
그리고 nums.count대신 람다식을 사용하는 것이 좋다. 메모리를 덜 잡아먹기 때문이다.
max( set(nums), key=lambda num: nums.count(num) )
sorted
sorted(list)도 똑같이 사용할 수 있다.
sorted는 리스트를 오름차순으로 정렬해서 반환하는데
key=list.count값을 주면 리스트 안에 몇개 들어있는지 기준으로 오름차순으로 정렬해준다.(적게 있는 값부터 나옴)
nums = [1,2,1,1,2,3]
print( sorted(nums) )
print( sorted(nums, key=nums.count) )
print( sorted(nums, key=nums.count, reverse=True) )
# [1, 1, 1, 2, 2, 3]
# [3, 2, 2, 1, 1, 1]
# [1, 1, 1, 2, 2, 3]
참고
반응형
'Python' 카테고리의 다른 글
파이썬 | functools.wraps (1) | 2022.10.03 |
---|---|
파이썬 | Type Hints, 타입 지정하기 (0) | 2022.09.24 |
파이썬 | for 요소 in 리스트 (0) | 2022.07.14 |
파이썬 오류 | "{" was not closed Pylance (0) | 2022.07.12 |
파이썬 | 모듈 임포트 하는법 (0) | 2022.07.08 |