๐ก ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์ ๋ฆฌ์คํธ๋ฅผ ๋ณด๋ค ์ง๊ด์ ์ผ๋ก ์์ฑํ๋ ๋ฐฉ๋ฒ. ๋๊ดํธ([]) ์์ for๋ฌธ๊ณผ if๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค ์ ์๋ค.
์ฆ, ์ฌ๋ฌ ์ค์ ์ฝ๋๋ฅผ ํ ์ค๋ก ์ค์ฌ์ฃผ๋ฉฐ, ๊ฐ๋
์ฑ์ ๋์ฌ์ค!
1๏ธโฃ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ์ง ์๊ณ , 0~4๊น์ง์ ์ ์๋ฅผ ์์ฑํ๋ ์ฝ๋:
li = []
for i in range(5):
li.append(i)
# ์ถ๋ ฅ: [0, 1, 2, 3, 4]
2๏ธโฃ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ ์ฝ๋:
li = [i for i in range(5)]
# ์ถ๋ ฅ: [0, 1, 2, 3, 4]
ํจ์ฌ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ธ๊ฑธ ๋ณผ์์๋ค.
[i * 2 for i in range(5)]
# ์ถ๋ ฅ: [0, 2, 4, 6, 8]
์์ฉํ๋ฉด ๋ค์ํ ํํ๋ก ํ์ฉํ ์ ์์ต๋๋ค
import sys
a = [sys.stdin.readline().strip() for _ in range(10)]
10๊ฐ์ ์ฌ๋ฌ ์ค ์ ๋ ฅ์ ๋ฐ๋ ๊ฒฝ์ฐ
๐ก ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์์๋ for๋ฌธ๋ฟ๋ง ์๋๋ผ ์กฐ๊ฑด๋ฌธ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
[i for i in range(5) if i % 2 == 0]
# ์ถ๋ ฅ: [0, 2, 4]
[i for i in range(5) if i % 2 == 0 if i % 4 == 0]
# ์ถ๋ ฅ: [0, 4]
if-else ๋ฌธ ์ฌ์ฉํ๊ธฐ๐ก if-else ๋ฌธ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ฐ๋์ ์ผ์ชฝ์ ๋ฐฐ์นํด์ผํจ!!
[i if i % 2 == 0 else 'odd' for i in range(5)]
# ์ถ๋ ฅ: [0, 'odd', 2, 'odd', 4]
1๏ธโฃ ์๋ ํฅ์: ์ผ๋ฐ์ ์ธ for ๋ฃจํ๋ณด๋ค ๋น ๋ฆ (ํ์ด์ฌ ๋ด๋ถ ์ต์ ํ ๋๋ถ)
2๏ธโฃ ์ฝ๋ ๊ฐ๊ฒฐํ: ํ ์ค๋ก ๋ฆฌ์คํธ๋ฅผ ์์ฑ ๊ฐ๋ฅ
3๏ธโฃ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ: map()์ด๋ ์ ๋๋ ์ดํฐ ํํ์์ ํ์ฉํ๋ฉด ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ค์ผ ์ ์์
1๏ธโฃ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ฆ๊ฐ
- ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์ ๋ชจ๋ ์์๋ฅผ ํ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ฏ๋ก, ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด์ด ์ปค์ง ์ ์์.
- ํด๊ฒฐ์ฑ
: ์ ๋๋ ์ดํฐ ํํ์์ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ ์ ์์.
squares = (x**2 for x in range(10**6)) # ๋ฆฌ์คํธ ๋์ ์ ๋๋ ์ดํฐ ์ฌ์ฉ
squares = (x**2 for x in range(10**6) if x % 2 == 0)
matrix = [[x * y for x in range(5)] for y in range(5)] # 5x5 ํ๋ ฌ ์์ฑ
โ ์ด๋ฐ ๊ฒฝ์ฐ์๋ **์ผ๋ฐ์ ์ธ `for` ๋ฃจํ๊ฐ ๋ ์ฝ๊ธฐ ์ฌ์ธ ์๋ ์์**
โ ์์ ๋ฆฌ์คํธ โ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ด ์ ๋ฆฌํจ
โ
ํฐ ๋ฆฌ์คํธ โ ์ ๋๋ ์ดํฐ ํํ์(()) ๋๋ map(), filter() ๊ณ ๋ ค
โ
๋ณต์กํ ์กฐ๊ฑด์ด๋ ์ค์ฒฉ ์ฐ์ฐ โ for ๋ฃจํ๊ฐ ๋ ๊ฐ๋
์ฑ์ด ์ข์ ์๋ ์์
๐ ์ฐธ๊ณ ์๋ฃ