๐Ÿฆœ Computer Language/Python

[Python] ๋ฆฌ์ŠคํŠธ, 2์ฐจ์› ๋ฐฐ์—ด ์ •๋ ฌํ•˜๊ธฐ | sort()

ํŒŒ์ด์ฌ์—๋Š” sort()๋ผ๋Š” ๋‚ด์žฅ ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ค๋ฆ„์ฐจ์ˆœ, ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

1. ๋ฆฌ์ŠคํŠธ ์ •๋ ฌํ•˜๊ธฐ

 

- ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ

 

arr = [2,3,4,5,1]

arr.sort()

print(arr)
# [1,2,3,4,5]

 

- ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ

 

arr = [2,3,4,5,1]

arr.sort(reverse=True)

print(arr)
# [5,4,3,2,1]

 

 

2. 2์ฐจ์› ๋ฐฐ์—ด ์ •๋ ฌํ•˜๊ธฐ

 

- ๊ธฐ๋ณธ sort() ์‚ฌ์šฉํ•˜๊ธฐ

 

arr[i]๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

arr = [[2,3],[1,2],[0,4]]

arr.sort()

print(arr)
# [[0, 4], [1, 2], [2, 3]]

 

- ํŠน์ • ๊ฐ’ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ

 

Case1. ํ–‰ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ

 

์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

arr = [[2,3],[1,2],[0,4]]

arr.sort(key=lambda x:x[0])

print(arr)
# [[0, 4], [1, 2], [2, 3]]

 

์ด ๋•Œ, x ๊ฐ’์— -๋ฅผ ์ทจํ•ด์ฃผ๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

arr = [[2,3],[1,2],[0,4]]

arr.sort(key=lambda x: -x[0])

print(arr)
# [[2, 3], [1, 2], [0, 4]]

 

 

Case2. ์—ด ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ

 

๋‘ ๋ฒˆ์งธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

arr = [[2,3],[1,2],[0,4]]

arr.sort(key=lambda x:x[1])

print(arr)
# [[1, 2], [2, 3], [0, 4]]

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด  ๋‘ ๋ฒˆ์งธ ๊ฐ’์ด ๊ฐ™์„ ๊ฒฝ์šฐ์—๋Š” ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

arr = [[2, 3], [1, 2], [0, 4], [2, 2]]

arr.sort(key=lambda x: (x[1], x[0]))

print(arr)
# [[1, 2], [2, 2], [2, 3], [0, 4]]