collections ๋ชจ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ด์ฌ์ ๋ด์ฅ๋์ด์๋ ๋ด์ฅํจ์์
๋๋ค. (๋ฐ๋ก ์ค์น๊ฐ ํ์ ์..)
๋ฆฌ์คํธ๋, ๋ฌธ์์ด์ ์์์ ๋ํ ๊ฐ์๋ฅผ ๊ตฌํ ๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก๋ ๊ตฌํ ์ ์์ง๋ง, counter ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋์๋น๋(frequency)๋ก ๋ฑ์ฅ๋๋ ๊ฐ (์ต๋น๊ฐ)์ ๊ตฌํ๋ most_commonํจ์๋ ์์ต๋๋ค.
counter ํจ์๋ฅผ ์ฌ์ฉํด ๋ฆฌ์คํธ์ ๊ฐ์์ธ๊ธฐ
collections.Counter(a) : a์์ ์์๋ค์ ๊ฐ์๋ฅผ ์ธ์ด, ๋์
๋๋ฆฌ ํํ๋ก ๋ฐํํฉ๋๋ค. {๋ฌธ์ : ๊ฐ์} ํํ
*์์ ์ฝ๋
import collections
b = [1,3,4,2,3,5,2,3,9]
a = [1,2,3,4,1,5,3,1,3,4,2,3]
print(collections.Counter(a) , collections.Counter(b))
*์ถ๋ ฅ ๊ฒฐ๊ณผ
>>>
Counter({3: 4, 1: 3, 2: 2, 4: 2, 5: 1}) Counter({3: 3, 2: 2, 1: 1, 4: 1, 5: 1, 9: 1})
counter - ์ฐ์ฐ
counter ํจ์๋ก ๊ตฌํ ๋์
๋๋ฆฌ์ ๊ฐ(value)๋ผ๋ฆฌ ์ฐ์ฐ์ด ๋๋ค. ์ฐ์ฐ์ + , - , &(๊ต์งํฉ), |(ํฉ์งํฉ) ๋ค๊ฐ์ง๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
*์์ ์ฝ๋
import collections
b = [1,1,1,1,1,1]
a = [1,1,2,2,2,2]
print(collections.Counter(a) - collections.Counter(b))
print(collections.Counter(a) + collections.Counter(b))
*์ถ๋ ฅ ๊ฒฐ๊ณผ
>>>
Counter({2: 4})
Counter({1: 8, 2: 4})
most_common() ํจ์ - ์ต๋น๊ฐ ๊ตฌํ๊ธฐ
collections.Counter(a).most_common(n) : a์ ์์๋ฅผ ์ธ์ด, ์ต๋น๊ฐ n๊ฐ๋ฅผ ๋ฐํํฉ๋๋ค. (๋ฆฌ์คํธ์ ๋ด๊ธด ํํํํ๋ก)
*์์ ์ฝ๋
import collections
a = [1,1,1,2,3,2,3,245,9]
print(collections.Counter(a).most_common(3))
*์ถ๋ ฅ ๊ฒฐ๊ณผ
>>>
[(1, 3), (2, 2), (3, 2)]