๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒฑ 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)

๋Œ“๊ธ€