for๋ฌธ

soo-hyeonยท2021๋…„ 2์›” 1์ผ
0

ํŒŒ์ด์ฌ

๋ชฉ๋ก ๋ณด๊ธฐ
10/15

for๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

๐Ÿ”‘ for๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

for ๋ณ€์ˆ˜ in ๋ฆฌ์ŠคํŠธ(๋˜๋Š” ํŠœํ”Œ, ๋ฌธ์ž์—ด) :
    ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ1
    ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ2
    ...

๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ, ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊นŒ์ง€ ์ฐจ๋ก€๋กœ ๋ณ€์ˆ˜์— ๋Œ€์ž…๋˜์–ด "์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ1", "์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ2" ๋“ฑ์ด ์ˆ˜ํ–‰๋œ๋‹ค.

์˜ˆ์‹œ) "์ด 5๋ช…์˜ ํ•™์ƒ์ด ์‹œํ—˜์„ ๋ณด์•˜๋Š”๋ฐ ์‹œํ—˜ ์ ์ˆ˜๊ฐ€ 60์ ์ด ๋„˜์œผ๋ฉด ํ•ฉ๊ฒฉ์ด๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ถˆํ•ฉ๊ฒฉ์ด๋‹ค. ํ•ฉ๊ฒฉ์ธ์ง€ ๋ถˆํ•ฉ๊ฒฉ์ธ์ง€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ ์ฃผ์‹œ์˜ค."

marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark >= 60: 
        print("%d๋ฒˆ ํ•™์ƒ์€ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % number)
    else: 
        print("%d๋ฒˆ ํ•™์ƒ์€ ๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % number)

for๋ฌธ๊ณผ continue

๐Ÿ”‘ while๋ฌธ์—์„œ ์‚ดํŽด๋ณธ continue๋ฌธ์„ for๋ฌธ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ for๋ฌธ ์•ˆ์˜ ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘์— continue๋ฌธ์„ ๋งŒ๋‚˜๋ฉด for๋ฌธ์˜ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

์˜ˆ์ œ) 60์  ์ด์ƒ์ธ ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์ถ•ํ•˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ๋‚˜๋จธ์ง€ ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์•„๋ฌด ๋ฉ”์‹œ์ง€๋„ ์ „ํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark < 60:
        continue 
    print("%d๋ฒˆ ํ•™์ƒ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค. " % number)

์ ์ˆ˜๊ฐ€ 60์  ์ดํ•˜์ธ ํ•™์ƒ์ผ ๊ฒฝ์šฐ์—๋Š” mark < 60์ด ์ฐธ์ด ๋˜์–ด continue๋ฌธ์ด ์ˆ˜ํ–‰๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ถ•ํ•˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ถ€๋ถ„์ธ print๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  for๋ฌธ์˜ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

for๋ฌธ๊ณผ ํ•จ๊ป˜ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” range ํ•จ์ˆ˜

๐Ÿ”‘ for๋ฌธ์€ ์ˆซ์ž ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋Š” range ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์‹œ์ž‘ ์ˆซ์ž์™€ ๋ ์ˆซ์ž๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด range(์‹œ์ž‘ ์ˆซ์ž, ๋ ์ˆซ์ž) ํ˜•ํƒœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด๋•Œ ๋ ์ˆซ์ž๋Š” ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

a = range(1, 11)
print(a)

range ํ•จ์ˆ˜์˜ ์˜ˆ์‹œ ์‚ดํŽด๋ณด๊ธฐ

for์™€ range ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ๋”ํ•˜๋Š” ๊ฒƒ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

add = 0
for i in range(1, 11) :
    add = add + i
print(add)


range(1, 11)์€ ์ˆซ์ž 1๋ถ€ํ„ฐ 10๊นŒ์ง€(1 ์ด์ƒ 11 ๋ฏธ๋งŒ)์˜ ์ˆซ์ž๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ–๋Š” ๊ฐ์ฒด์ด๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ์˜ˆ์—์„œ i ๋ณ€์ˆ˜์— ๋ฆฌ์ŠคํŠธ์˜ ์ˆซ์ž๊ฐ€ 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋กœ ๋Œ€์ž…๋˜๋ฉด์„œ add = add + i ๋ฌธ์žฅ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  add๋Š” ์ตœ์ข…์ ์œผ๋กœ 55๊ฐ€ ๋œ๋‹ค.

๐Ÿ’ฅ ๋˜ํ•œ ์šฐ๋ฆฌ๊ฐ€ ์•ž์—์„œ ์‚ด๋ณธ "60์  ์ด์ƒ์ด๋ฉด ํ•ฉ๊ฒฉ"์ด๋ผ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ๋„ range ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์„ ๋ณด์ž.

marks = [90, 25, 67, 45, 80]
for number in range(len(marks)):
    if marks[number] < 60: 
        continue
    print("%d๋ฒˆ ํ•™์ƒ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % (number+1))

len ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ ์•ˆ์˜ ์š”์†Œ ๊ฐœ์ˆ˜๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋”ฐ๋ผ์„œ len(marks)๋Š” 5๊ฐ€ ๋  ๊ฒƒ์ด๊ณ  range(len(marks))๋Š” range(5)๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. number ๋ณ€์ˆ˜์—๋Š” ์ฐจ๋ก€๋กœ 0๋ถ€ํ„ฐ 4๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ๋Œ€์ž…๋  ๊ฒƒ์ด๊ณ , marks[number]๋Š” ์ฐจ๋ก€๋Œ€๋กœ 90, 25, 67, 45, 80 ๊ฐ’์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค.

๋ฆฌ์ŠคํŠธ ๋‚ดํฌ ์‚ฌ์šฉํ•˜๊ธฐ

๐Ÿ”‘ ๋ฆฌ์ŠคํŠธ ์•ˆ์— for๋ฌธ์„ ํฌํ•จํ•˜๋Š” ๋ฆฌ์ŠคํŠธ ๋‚ดํฌ(List comprehension)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ณ  ์ง๊ด€์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์ œ๋ฅผ ๋ณด์ž.

a = [1, 2, 3, 4]
result = []
for num in a :
    result.append(num*3)
print(result)


์œ„ ์˜ˆ์ œ๋Š” a ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ํ•ญ๋ชฉ์— 3์„ ๊ณฑํ•œ ๊ฒฐ๊ณผ๋ฅผ result ๋ฆฌ์ŠคํŠธ์— ๋‹ด๋Š” ์˜ˆ์ œ์ด๋‹ค.

์ด๊ฒƒ์„ ๋ฆฌ์ŠคํŠธ ๋‚ดํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

a = [1, 2, 3, 4]
result = [num * 3 for num in a]
print(result)


๋งŒ์•ฝ [1,2,3,4] ์ค‘์—์„œ ์ง์ˆ˜์—๋งŒ 3์„ ๊ณฑํ•˜์—ฌ ๋‹ด๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ ๋‚ดํฌ ์•ˆ์— "if ์กฐ๊ฑด"์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

a = [1, 2, 3, 4]
result = [num * 3 for num in a if num % 2 ==0]
print(result)


๋ฆฌ์ŠคํŠธ ๋‚ดํฌ์˜ ์ผ๋ฐ˜ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. "if ์กฐ๊ฑด" ๋ถ€๋ถ„์€ ์•ž์˜ ์˜ˆ์ œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.
โญ [ ํ‘œํ˜„์‹ for ํ•ญ๋ชฉ in ๋ฐ˜๋ณต๊ฐ€๋Šฅ๊ฐ์ฒด if ์กฐ๊ฑด๋ฌธ ] โญ

์กฐ๊ธˆ ๋ณต์žกํ•˜์ง€๋งŒ for๋ฌธ์„ 2๊ฐœ ์ด์ƒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. for๋ฌธ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•  ๋•Œ์˜ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

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