π[Python] νμ΄μ¬ λμ λ리(dictionary)
νμ΄μ¬ λμ λ리λ?
κΈ°μ‘΄ 리μ€νΈλ μλμ κ°λ€.
li = [1, 2, 3, 4, 5]
λμ
λ리λ key:value
μ μμΌλ‘ μ΄λ£¨μ΄μ Έμλ€.
JSONνμκ³Ό λΉμ·νλ€κ³ μ΄ν΄νλ€.. -> μ£Όκ΄μ
dic = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
λμ
λ리λ 리μ€νΈμ λ€λ₯΄κ² μ€κ΄νΈ{}
λ‘ λ¬Άμ΄ μ¬μ©νλ€.
ν€ μ΄λ¦μ΄ μ€λ³΅λλ©΄?
λμ λ리μμ ν€ μ΄λ¦μ΄ μ€λ³΅λλ©΄ μ΄λ»κ² λ κΉ?
dic = {'a':1, 'a':2, 'c':3, 'd':4, 'e':5}
print(dic['a'])
print(dic)
μμ κ°μ΄ a
κ° μ€λ³΅λ μν©μμ aμ valueλ₯Ό μΆλ ₯νλ©΄ μ΄λ»κ² λ κΉ?
> 2
> {'a':2, 'c':3, 'd':4, 'e':5}
μ΄ μ²λΌ ν€κ° μ€λ³΅λλ©΄ λ€μ μλ κ°μΌλ‘ λ체λκ³ , μ€λ³΅λ ν€ κ°μ μμ λλ€.
λμ λ리 ν€μ μλ£ν
λμ λ리μμ ν€ κ°μ μ¬ μ μλ κ°λ€μ μλ£νλ€μ λ€μνλ€.
- λ¬Έμμ΄
- μ μ
- μ€μ
- λΆ(boolean)
- μλ£νμ μμ΄μ μ¬μ© κ°λ₯
κ·Έλ¬λ©΄ valueμλ?
κ°μλ 리μ€νΈμ λμ
λ리λ₯Ό ν¬ν¨ν λͺ¨λ μλ£νμ μ¬μ©ν μ μλ€.
μ¬κΈ°μ ν€ κ°μ λμ
λ리λ₯Ό μ¬μ©νλ κ²μ λ³΄κ³ JSONκ³Ό λΉμ·νλ€κ³ μκ°νμ
μμ - λ°±μ€-18870(μ’ν μμΆ)
리μ€νΈμ κ°λ€μ μ
λ ₯λ°κ³ , κ° μμλ³΄λ€ μμ κ°μ κ°μλ₯Ό μΆλ ₯νλ μμ κ° μ’ν μμΆ λ¬Έμ μ΄λ€.
μ¬κΈ°μ λμ
λ리λ₯Ό μ¬μ©νλλ°, λμ
λ리λ₯Ό μ¬μ©νλ κ²μ΄ μ΅μμΉ μμ ꡬκΈλ§μ ν΄μΌλ§ νλ€.
import sys
N = int(sys.stdin.readline())
arr = list(map(int,sys.stdin.readline().split()))
arr2 = []
# μ€λ³΅μ κ±° & μ λ ¬ -> 리μ€νΈλ‘ λ³ν
arr2 = list(sorted(set(arr)))
dic = {arr2[i] : i for i in range(len(arr2))}
for i in arr:
print(dic[i], end=' ')
arrμ sorted
λ‘ μ λ ¬νκ³ , set
μΌλ‘ μ€λ³΅ μμλ₯Ό μ κ±°νλ€.
λμ
λ리λ₯Ό νμ©ν΄ arr2μ μμλ€μ λΉκ΅νλ€.
μ΄ μ μ μ΄λ―Έ μ€λ³΅μ΄ μ κ±°λμκ³ μ€λ¦μ°¨μμΌλ‘ μ λ ¬λμμΌλ, ν€:κ°
μ ννλ‘ λ°μ΄ν°λ₯Ό μ μ₯ν΄μ£Όλ©΄ λλ€.
arr2λ μ€λ¦μ°¨μμΌλ‘ μ λ ¬λμκ³ , arr2[0]μ κ²½μ° arr2[0]λ³΄λ€ μμ κ°μ 0κ°μ΄κ³ , i=0μ΄λ―λ‘ iμ arr2[0]λ³΄λ€ μμ κ°μ κ°μκ° μΌμΉνλ€.
κ°μ λμμΌλ‘ λΉκ΅ν΄λ³΄λ©΄ iμ κ°κ³Ό κ° μμ λ³λ‘ λ³ΈμΈλ³΄λ€ μμ κ°μ κ°μμ μΌμΉνλ€.
μ°Έκ³ μλ£
λ°±μ€-18870
https://eunhee-programming.tistory.com/116
https://dojang.io/mod/page/view.php?id=2213
λκΈλ¨κΈ°κΈ°