728x90
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ (List Comprehension)
ํ์ด์ฌ์์ ๊ฐ๊ฒฐํ๊ณ ํจ์จ์ ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ ๊ตฌ๋ฌธ์ด๋ค. ๊ธฐ์กด ๋ฆฌ์คํธ์ ๊ฐ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ณํํ๊ฑฐ๋ ํํฐ๋งํ์ฌ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค ๋ ๋งค์ฐ ์ ์ฉํ๋ค. ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ for ๋ฃจํ๋ฅผ ํ ์ค๋ก ์์ฑํ ์ ์์ด, ์ฝ๋๊ฐ ์งง๊ณ ๊ฐ๋ ์ฑ์ด ๋์์ง๋ค.
๊ธฐ๋ณธ ๊ตฌ๋ฌธ
[expression for item in iterable if condition]
- expression: ๋ฆฌ์คํธ์ ํฌํจ๋ ๊ฐ์ด๋ ๋ณํ๋ ๊ฐ
- item: iterable์ ๊ฐ ์์๋ฅผ ๋ํ๋
- iterable: ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด (์: ๋ฆฌ์คํธ, ๋ฌธ์์ด, ํํ ๋ฑ)
- condition (์ ํ์ ): ๊ฐ ์์์ ๋ํด ์ ์ฉํ ์กฐ๊ฑด์ผ๋ก, ์กฐ๊ฑด์ด ์ฐธ์ผ ๋๋ง ์์๊ฐ ํฌํจ๋จ
1๏ธโฃ ์์ 1: ๊ธฐ๋ณธ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
squares = [x * x for x in range(10)]
print(squares)
์ถ๋ ฅ ๊ฒฐ๊ณผ
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
- range(10)์ ๊ฐ ๊ฐ x์ ๋ํด x * x๋ฅผ ๊ณ์ฐํ์ฌ ๋ฆฌ์คํธ์ ์ถ๊ฐ
2๏ธโฃ ์์ 2: ์กฐ๊ฑด๋ถ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers)
์ถ๋ ฅ ๊ฒฐ๊ณผ
[0, 2, 4, 6, 8]
- range(10)์ ๊ฐ ๊ฐ ์ค ์ง์๋ง ๋ฆฌ์คํธ์ ํฌํจ
์ค์ฒฉ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ (์ด์ค ๋ฆฌ์คํธ)
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = [item for row in matrix for item in row]
print(flat_list)
์ถ๋ ฅ ๊ฒฐ๊ณผ
์ถ๋ ฅ: [1, 2, 3, 4, 5, 6, 7, 8, 9]
- ์ค์ฒฉ๋ for ๋ฃจํ๋ฅผ ์ฌ์ฉํด 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ 1์ฐจ์ ๋ฆฌ์คํธ๋ก ๋ง๋ ๋ค.
๐ ์ ๋ ฅ์ ํด์ผ ํ ๋
list = [map(int, input().split() for _ in range(10)]
์ด์ค ๋ฆฌ์คํธ์ผ ๊ฒฝ์ฐ
list = [list(map(int, input().split()) for _ in range(10)]
- list๋ง ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค.
728x90
'๐ฌ Explore > ํ์ด์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ์ด์ฌ] set() (์งํฉ ํจ์) (0) | 2024.10.24 |
|---|---|
| [ํ์ด์ฌ] replace() ๋ฉ์๋ (0) | 2024.10.22 |
| [ํ์ด์ฌ] ์๋ฃ ๊ตฌ์กฐ - deque (0) | 2024.10.21 |
| [Python] sort, sorted, ์ ๋ ฌ, ์ด์ค ๋ฆฌ์คํธ ์ ๋ ฌ (0) | 2023.10.31 |
| ํ์ด์ฌ ์ค์นํ๋ ๋ฐฉ๋ฒ(1) (Windows ์ ์ฉ) (0) | 2022.08.31 |