λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🌱 CS Study/파이썬

λ”•μ…”λ„ˆλ¦¬ (dictionary) ν•¨μˆ˜

by HelloRabbit 2022. 7. 17.
728x90

λ”•μ…”λ„ˆλ¦¬λŠ” λ¦¬μŠ€νŠΈμ™€λŠ” 달리 짝을 지어 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” μžλ£Œν˜•μ΄λ‹€. μ€‘κ΄„ν˜Έ "{ }"둜 λ”•μ…”λ„ˆλ¦¬λ₯Ό 생성할 수 있으며 짝을 지을 λ•ŒλŠ” 콜둠 " : "을 μ΄μš©ν•œλ‹€.

 

μƒλ¬Όν•™μ—μ„œ RNAλ₯Ό λ‹¨λ°±μ§ˆλ‘œ λ²ˆμ—­λ  λ•Œ RNA μ„œμ—΄μ„ 3개의 base pair둜 λ¬Άμ–΄μ„œ ν•˜λ‚˜μ˜ codon을 ν˜•μ„±ν•œλ‹€. 이럴 경우 λ”•μ…”λ„ˆλ¦¬ μžλ£Œν˜•μ΄ κ½€ μœ μš©ν•˜λ‹€.

codons = {'AUG': 'M', 'UAA': 'Stop', 'UGA': 'Stop', 'UAG': 'Stop', 'UUU': 'F', 'CUU': 'L', \
'AUU': 'I', 'GUU': 'V', 'UUC': 'F', 'CUC': 'L', 'AUC': 'I', 'GUC': 'V', 'UUA': 'L', 'CUA': 'L', \
'AUA': 'I', 'GUA': 'V', 'UUG': 'L', 'CUG': 'L', 'GUG': 'V', 'UCU': 'S', 'CCU': 'P', 'ACU': 'T', \
'GCU': 'A', 'UCC': 'S', 'CCC': 'P', 'ACC': 'T', 'GCC': 'A', 'UCA': 'S', 'CCA': 'P', 'ACA': 'T', \
'GCA': 'A', 'UCG': 'S', 'CCG': 'P', 'ACG': 'T', 'GCG': 'A', 'UAU': 'Y', 'CAU': 'H', 'AAU': 'N', \
'GAU': 'D', 'UAC': 'Y', 'CAC': 'H', 'AAC': 'N', 'GAC': 'D', 'CAA': 'Q', 'AAA': 'K', 'GAA': 'E', \
'CAG': 'Q', 'AAG': 'K', 'GAG': 'E', 'UGU': 'C', 'CGU': 'R', 'AGU': 'S', 'GGU': 'G', 'UGC': 'C', \
'CGC': 'R', 'AGC': 'S', 'GGC': 'G', 'CGA': 'R', 'AGA': 'R', 'GGA': 'G', 'UGG': 'W', 'CGG': 'R', \
'AGG': 'R', 'GGG': 'G'}

λ”•μ…”λ„ˆλ¦¬ ν˜•νƒœμ—μ„œ ν•˜λ‚˜μ˜ 짝을 key와 value라고 λΆˆλ¦¬λŠ”λ° ν˜•μ‹μ„ μœ„μ™€ 같이 "key : value"둜 μ½œλ‘ μ„ 사이에 두면 λœλ‹€. 그리고 λ”•μ…”λ„ˆλ¦¬λ₯Ό ν™œμš©ν•  λ•Œ μ€‘μš”ν•œ 점은 valueλŠ” μ€‘λ³΅λ˜λŠ” 값이 μžˆμ„ 수 μžˆμ§€λ§Œ keyλŠ” 쀑볡 될 수 μ—†λ‹€λŠ” 점이닀.

 

νŠΉμ • valueλ₯Ό 뢈러였고 싢을 λ•ŒλŠ” κ·Έ value의 짝꿍인 keyλ₯Ό ν™œμš©ν•˜λ©΄ λœλ‹€. 이 λ•ŒλŠ” μ€‘κ΄„ν˜Έκ°€ μ•„λ‹Œ λ„€λͺ¨ κ΄„ν˜Έκ°€ μ‚¬μš©λœλ‹€.

codons['AUG']		# 'M'이 좜λ ₯λœλ‹€.

 

λ”•μ…”λ„ˆλ¦¬μ—λŠ” λ‹€μ–‘ν•œ λ‚΄μ œλœ ν•¨μˆ˜κ°€ μžˆλ‹€.

# λ”•μ…”λ„ˆλ¦¬ 전체 μ§€μš°κΈ°
codons.clear()

# λ”•μ…”λ„ˆλ¦¬ λ‹€λ₯Έ λ³€μˆ˜μ— λ³΅μ‚¬ν•˜κΈ°
codons_copy = codons.copy()

# 킀와 λ°Έλ₯˜κ°€ 될 값듀을 λ”°λ‘œ λ„£μ–΄ λ”•μ…”λ„ˆλ¦¬ ν˜•μ„±ν•˜κΈ°
codons.fromkeys(keylist, value)

# ν•΄λ‹Ή ν‚€μ˜ λ°Έλ₯˜λ₯Ό 뢈러였기. ν•΄λ‹Ή ν‚€κ°€ μ—†μœΌλ©΄ λ””ν΄νŠΈλ‘œ 넣은 값을 λŒ€μ‹  λ°˜ν™˜ν•˜κΈ°
codons.get(key, default)

# λ”•μ…”λ„ˆλ¦¬ 킀와 λ°Έλ₯˜λ₯Ό νŠœν”Œ μžλ£Œν˜•μœΌλ‘œ λ°˜ν™˜ν•˜κΈ°
codons.items()

# λ”•μ…”λ„ˆλ¦¬ ν‚€λ§Œ λ°˜ν™˜ν•˜κΈ°
codons.keys()

# λ”•μ…”λ„ˆλ¦¬ λ°Έλ₯˜λ§Œ λ°˜ν™˜ν•˜κΈ°
codons.values()

# νŠΉμ • 킀와 ν•΄λ‹Ήν•˜λŠ” λ°Έλ₯˜ 값을 λ”•μ…”λ„ˆλ¦¬μ—μ„œ μ œκ±°ν•˜κΈ°
codons.pop(key, default)

# λ§ˆμ§€λ§‰μœΌλ‘œ μΆ”κ°€λœ ν‚€-λ°Έλ₯˜ 값을 μ œκ±°ν•˜κΈ°
codons.popitem()

# ν•΄λ‹Ή ν‚€μ˜ λ°Έλ₯˜ 값을 λ°˜ν™˜ν•˜κΈ°. μ—†μœΌλ©΄ μ§€μ •ν•œ λ°Έλ₯˜ 값을 λ°˜ν™˜ν•˜κ³  λ”•μ…”λ„ˆλ¦¬μ— μΆ”κ°€ν•˜κΈ°
codons.setdefault(key, value)

# λ”•μ…”λ„ˆλ¦¬μ— ν‚€-λ°Έλ₯˜ 값을 μΆ”κ°€ν•˜κΈ°
codons.update(dict)

λŒ“κΈ€