๋์ ๋๋ฆฌ
ํ์ด์ฌ์ ๋์ ๋๋ฆฌ๋ Key์ value์ ๋์๊ด๊ณ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๋น ๋์ ๋๋ฆฌ ๋ง๋ค๊ธฐ
#์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ
d = {}
#๋ ๋ฒ์งธ ๋ฐฉ๋ฒ
d = dick()
๋น ๋์ ๋๋ฆฌ๋ฅผ ๋ง๋๋ ค๋ฉด ๋น ์ค๊ดํธ ๋๋ dick()์ ์ด์ฉํ๋ฉด ๋๋ค.
๋์ ๋๋ฆฌ ์์๋ณด๊ธฐ
d = {"Justin": 13, "John": 10, "Mike": 9}
print(d["Justin"]) # 13
์ค๊ดํธ๋ฅผ ์ด์ฉํด ๋์ ๋๋ฆฌ๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ ํค์ ๋์๋๋ ๊ฐ์ ์ฝ๋ก (:)์ผ๋ก ์ฐ๊ฒฐํด์ฃผ๋ฉด ๋์ ๋๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๋ค.
print๋ฅผ ์ด์ฉํด d["Justin"]์ ๊ฐ์ ์ถ๋ ฅํด๋ณด์๋ค. 13์ด ๋์ค๋๊ฒ์ ํ์ธํ ์์๋ค.
๋ง์ฝ ๋์ ๋๋ฆฌ์ ์๋ ๊ฐ์ ์ฐพ์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๋์ ๋๋ฆฌ์ ์๋ก์ด ๊ฐ ์ถ๊ฐํ๊ธฐ
d = {"Justin": 13, "John": 10, "Mike": 9}
#์๋ก์ด ๊ฐ ์ถ๊ฐ
d["Summer"] = 15
๋์ ๋๋ฆฌ์ ์ ๊ฐ์ ์ถ๊ฐํด๋ณด์๋ค.
์ด๋ ์ฃผ์ํ ์ ์ ๋์ ๋๋ฆฌ์๋ ํค๊ฐ ์ค๋ณต๋์ง ์๋๋ค. ๋ง์ฝ ์ด๋ฏธ ์กด์ฌํ๋ ํค์ ์ ๊ฐ์ ๋ฃ์ผ๋ฉด ๊ธฐ์กด ๊ฐ์ ์ฌ๋ผ์ง๊ณ ์ ๊ฐ์ผ๋ก ๋ฎ์ด์จ์ง๋ค.
๋์ ๋๋ฆฌ ํ์ฉ
s_info = {
1: "๊นํ์ค",
2: "์ด์ ์ ",
3: "๋ฐ๊ท์น"
}
#ํ์๋ฒํธ 1๋ฒ์ ํด๋นํ๋ ํ์ ์ด๋ฆ ์ฐพ๊ธฐ
s_info[1] #๊นํ์ค
#์ ํ์ ์ถ๊ฐํ๊ธฐ
s_info[4] = "์ต์ฌ์ผ"
#ํ์ ์ญ์ ํ๊ธฐ
del s_info[1]
๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํด ํ์ ๋ฒํธ์ ํ์ ์ด๋ฆ์ด ๋์๋ ํ์ ๋ช ๋ถ๋ฅผ ๋ง๋ค๊ณ ์์ฉํด๋ณด์๋ค.
๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํ ๋๋ช ์ด์ธ ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ
def find_same_name(a):
name_dict = {}
for name in a:
if name in name_dict:
name_dict[name] += 1
else:
name_dict[name] = 1
result = set() #์งํฉ
for name in name_dict:
if name_dict[name] >= 2:
result.add(name)
return result
name = ["Tom", "Jerry", "Mike", "Tom"]
print(find_same_name(name))
name2 = ["Tom", "Jerry", "Mike", "Tom", "Mike"]
print(find_same_name(name2))
๊ณ์ฐ๋ณต์ก๋๋ O(n)์ ํด๋น๋๋ค.
'๊ฐ๋ฐ ํ์์บก์ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Numpy - ๋ฐฐ์ด ํฉ์น๊ธฐ (0) | 2020.09.19 |
---|---|
[Python] Numpy - ๋ฐฐ์ด ์ฌ๋ผ์ด์ฑ(slicing) (0) | 2020.09.18 |
[Python] Numpy - ๋ฐฐ์ด reshape (0) | 2020.09.18 |
[Python] Numpy ๋ฐฐ์ด / Numpy๋ฐฐ์ด ํจ์ (0) | 2020.09.18 |
[Python] 2์ง์ 8์ง์ 16์ง์ -> 10์ง์ -> 2์ง์ 8์ง์ 16์ง์ (0) | 2020.09.07 |