# ๐Ÿ ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ์‹คํ—˜ ๋ชจ์Œ: list, dict, ๋ฐ˜๋ณต๋ฌธ, ๋ฌธ์ž์—ด๊นŒ์ง€!

Yeeunยท2025๋…„ 4์›” 11์ผ

Python

๋ชฉ๋ก ๋ณด๊ธฐ
2/31

๐Ÿ ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ์‹คํ—˜ ๋ชจ์Œ: list, dict, ๋ฐ˜๋ณต๋ฌธ, ๋ฌธ์ž์—ด๊นŒ์ง€!

์˜ค๋Š˜์€ ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ์ค‘ ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ, ๋ฐ˜๋ณต๋ฌธ, ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๊ถ๊ธˆ์ฆ๋“ค์„ ์ง์ ‘ ์‹คํ—˜ํ•ด๋ณด๋ฉฐ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ฝ”๋“œ๋Š” ์ž‘์ง€๋งŒ, ์ค‘์š”ํ•œ ๊ฐœ๋…์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


1. ๋ฌธ์ž์—ด์—์„œ ๋“ฑ์žฅ ํšŸ์ˆ˜ ์„ธ๊ธฐ

text = "hello"
char_count = {char: text.count(char) for char in set(text)}
print(char_count)

์ถœ๋ ฅ ๊ฒฐ๊ณผ

{'e': 1, 'o': 1, 'h': 1, 'l': 2}
  • set(text)๋Š” ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ๋ฌธ์ž ์ง‘ํ•ฉ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๊ฐ ๋ฌธ์ž๊ฐ€ ์ „์ฒด ๋ฌธ์ž์—ด์— ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ .count()๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋”•์…”๋„ˆ๋ฆฌ ๋‚ดํฌ(dictionary comprehension) ๋ฌธ๋ฒ•์„ ํ™œ์šฉํ•œ ๊น”๋”ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ์ถœ๋ ฅ ์ˆœ์„œ๋Š” set ํŠน์„ฑ์ƒ ์ผ์ •ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ •๋ ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด sorted()๋ฅผ ํ•จ๊ป˜ ์จ๋ณด์„ธ์š”.


2. ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ์ตœ๋Œ€๊ฐ’ ์ฐพ๊ธฐ

score_dict = {
    "ํ™๊ธธ๋™": 85,
    "๊น€์œ ์‹ ": 58,
    "์ด์ˆœ์‹ ": 76,
    "๊ฐ•๊ฐ์ฐฌ": 45,
    "์œ ๊ด€์ˆœ": 92
}

score_list = list(score_dict.values())
max_score = max(score_list)
print("์ตœ๊ณ  ์ ์ˆ˜:", max_score)
  • .values()๋กœ ์ ์ˆ˜๋งŒ ๋ฝ‘์•„ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค๊ณ , max()๋กœ ์ตœ๊ณ  ์ ์ˆ˜๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฆ„๊ณผ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•˜์„ธ์š”.
for name, score in score_dict.items():
    if score == max_score:
        print("Top:", name, score)

3. ๊ตฌ๋ถ„์„  ์ถœ๋ ฅํ•˜๊ธฐ: - ๋ฐ˜๋ณต

print("-" * 30)
  • ๋ฌธ์ž์—ด์„ ์ •์ˆ˜์™€ ๊ณฑํ•˜๋ฉด ํ•ด๋‹น ๋ฌธ์ž ๋ฐ˜๋ณต์ด ๋ฉ๋‹ˆ๋‹ค.
  • print("=" * 50), print("*" * 20) ๋“ฑ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋ฉด ๋” ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค:

def print_line(char='-', length=30):
    print(char * length)

print_line()           # ๊ธฐ๋ณธ: ------------------------------
print_line('=', 20)    # ====================

4. ๋ฆฌ์ŠคํŠธ์—์„œ ์ธ๋ฑ์Šค์™€ ๊ฐ’ ํ•จ๊ป˜ ์–ป๊ธฐ: enumerate()

names = ["ํ™๊ธธ๋™", "๊น€์œ ์‹ ", "์ด์ˆœ์‹ ", "๊ฐ•๊ฐ์ฐฌ", "์œ ๊ด€์ˆœ"]
lis = [(i, name) for i, name in enumerate(names)]
print(lis)

์ถœ๋ ฅ ๊ฒฐ๊ณผ

[(0, 'ํ™๊ธธ๋™'), (1, '๊น€์œ ์‹ '), (2, '์ด์ˆœ์‹ '), (3, '๊ฐ•๊ฐ์ฐฌ'), (4, '์œ ๊ด€์ˆœ')]
  • enumerate()๋Š” ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ™์ด ๊ฐ€์ ธ์˜ฌ ๋•Œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ด„ํ˜ธ (i, name)๋ฅผ ๊ผญ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. [(i, name)] ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒŒ ํ•ต์‹ฌ.

5. for ๋ฐ˜๋ณต๋ฌธ์—์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด?

lst = ['a','b','c']
my_lst = []
for symbol in lst:
    element = lst.pop()
    my_lst.append(element)

print(lst)      # ['a']
print(my_lst)   # ['c', 'b']
  • ๋ฐ˜๋ณต๋ฌธ ๋„์ค‘ lst.pop()์œผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฐ˜๋ณต ํšŸ์ˆ˜ ์ž์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
  • ์˜ˆ์ œ์—์„œ๋Š” ['a']๋งŒ ๋‚จ๊ณ , ์‹ค์ œ ๋ฐ˜๋ณต์€ 2๋ฒˆ๋งŒ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฐ ๋ฐฉ์‹์€ ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

์งง์€ ์ฝ”๋“œ์—์„œ๋„ ํŒŒ์ด์ฌ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ, ๋ฐ˜๋ณต๋ฌธ๊ณผ ๊ฐ™์€ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์€ ์‹ค์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ๋ถ€๋ถ„์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ์‹คํ—˜ํ•˜๋ฉด์„œ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

๊ถ๊ธˆํ•œ ๋ถ€๋ถ„์ด๋‚˜ ๋” ๋‹ค๋ค„์คฌ์œผ๋ฉด ํ•˜๋Š” ํŒŒํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!

0๊ฐœ์˜ ๋Œ“๊ธ€