Post

[Python] ๋ฐ˜๋ณต๋ฌธ

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํŒŒ์ด์ฌ์˜ ๋ฐ˜๋ณต๋ฌธ(for)์„ ์ •๋ฆฌํ•œ๋‹ค. ํŒŒ์ด์ฌ์˜ for๋Š” C/Java์™€ ๋‹ฌ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด ์ˆœํšŒํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ์ง๊ด€์ ์ด๋‹ค.

๋ฐ˜๋ณต๋ฌธ์ด๋ž€? ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ ์ˆ˜๋งŒํผ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰. โ€œ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ๋“ค์—ฌ์“ฐ๊ธฐ๋œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰โ€ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.


1. ๊ธฐ๋ณธํ˜•

1
2
for ๋ณ€์ˆ˜ in ์ž๋ฃŒ๊ตฌ์กฐ:   # ๋์— ์ฝœ๋ก (:) ์ฃผ์˜
    ์‹คํ–‰ํ•  ์ฝ”๋“œ         # ๋“ค์—ฌ์“ฐ๊ธฐ
1
2
3
4
5
6
7
๋ฆฌ์ŠคํŠธ = ['์ฒ ์ˆ˜', '์˜ํฌ', 'ํฌ์ฒ ']

for name in ๋ฆฌ์ŠคํŠธ:
    print(name)
# >>> ์ฒ ์ˆ˜
# >>> ์˜ํฌ
# >>> ํฌ์ฒ 

๐Ÿ’ก for ๋ณ€์ˆ˜ in ์ž๋ฃŒ๊ตฌ์กฐ:์—์„œ ์ฝœ๋ก (:)๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ํ•„์ˆ˜๋‹ค. ํŒŒ์ด์ฌ์€ ์ค‘๊ด„ํ˜ธ ๋Œ€์‹  ๋“ค์—ฌ์“ฐ๊ธฐ๋กœ ์ฝ”๋“œ ๋ธ”๋ก์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

์Šฌ๋ผ์ด์‹ฑ์œผ๋กœ ๋ฒ”์œ„ ์ œํ•œ

1
2
3
4
for name in ๋ฆฌ์ŠคํŠธ[:2]:   # ์ธ๋ฑ์Šค 0~1๋งŒ
    print(name)
# >>> ์ฒ ์ˆ˜
# >>> ์˜ํฌ

2. ์กฐ๊ฑด๊ณผ ํ•จ๊ป˜ ์“ฐ๊ธฐ

if๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด ์›ํ•˜๋Š” ๊ฐ’๋งŒ ๊ฑธ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

1
2
3
4
for name in ๋ฆฌ์ŠคํŠธ:
    if "ํฌ์ฒ " in name:
        print(name)
# >>> ํฌ์ฒ 

ํ™•์žฅ์ž ํ•„ํ„ฐ๋ง โ€” endswith()๋Š” ๋ฌธ์ž์—ด์ด ํŠน์ • ๊ฐ’์œผ๋กœ ๋๋‚˜๋Š”์ง€ bool๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

1
2
3
4
5
6
๋ฆฌ์ŠคํŠธ = ["ab.xls", "a.hwp", "b.exe", "bbbbb.xls"]
for i in ๋ฆฌ์ŠคํŠธ:
    if i.endswith(".xls"):
        print(i)
# >>> ab.xls
# >>> bbbbb.xls
๋ฉ”์†Œ๋“œ์—ญํ• 
inํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธ
endswith()ํŠน์ • ๋ฌธ์ž์—ด๋กœ ๋๋‚˜๋Š”์ง€ (bool)
[:n] (์Šฌ๋ผ์ด์‹ฑ)๋ฒ”์œ„ ์ œํ•œ

3. ์‘์šฉํ˜• โ€” ์ธ๋ฑ์Šค๋กœ ์ˆœํšŒ

์ž๋ฃŒ๊ตฌ์กฐ ์ž๋ฆฌ์— ์ธ๋ฑ์Šค ๋ฆฌ์ŠคํŠธ๋ฅผ ๋„ฃ์–ด ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

1
2
3
4
5
6
stocks = ["Naver", "Samsung", "SK Hynix"]
for ์ธ๋ฑ์Šค in [0, 1, 2]:
    print(stocks[์ธ๋ฑ์Šค])
# >>> Naver
# >>> Samsung
# >>> SK Hynix

๐Ÿ“ ์ •๋ฆฌ

1
2
3
4
5
ํŒŒ์ด์ฌ ๋ฐ˜๋ณต๋ฌธ
โ”œโ”€ ๊ธฐ๋ณธํ˜•    for ๋ณ€์ˆ˜ in ์ž๋ฃŒ๊ตฌ์กฐ:  (์ฝœ๋ก  + ๋“ค์—ฌ์“ฐ๊ธฐ)
โ”œโ”€ ์Šฌ๋ผ์ด์‹ฑ  ๋ฆฌ์ŠคํŠธ[:2]๋กœ ๋ฒ”์œ„ ์ œํ•œ
โ”œโ”€ ์กฐ๊ฑด      if ๊ฒฐํ•ฉ์œผ๋กœ ์›ํ•˜๋Š” ๊ฐ’๋งŒ (endswith ๋“ฑ)
โ””โ”€ ์‘์šฉ      ์ธ๋ฑ์Šค ๋ฆฌ์ŠคํŠธ๋กœ ๊ฐ„์ ‘ ์ ‘๊ทผ
๊ฐœ๋…ํ•œ ์ค„ ์ •์˜
for ~ in์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์ˆœํšŒ
์ฝœ๋ก ยท๋“ค์—ฌ์“ฐ๊ธฐ๋ธ”๋ก ๊ตฌ๋ถ„(์ค‘๊ด„ํ˜ธ ๋Œ€์‹ )
endswith๋ฌธ์ž์—ด ๋ ๊ฒ€์‚ฌ (bool)

ํŒŒ์ด์ฌ์˜ for๋Š” โ€œ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด ์“ด๋‹คโ€๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค. C/Java์˜ ์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜ for๋ณด๋‹ค ์ง๊ด€์ ์ด๋ผ, ์ž๋ฃŒ๊ตฌ์กฐ์™€ ํ•จ๊ป˜ ์“ฐ๋ฉด ์•„์ฃผ ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๊ฐ€ ๋œ๋‹ค.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.