enumerate?
ํ์ด์ฌ์์ for๋ฌธ์ผ๋ก ๋ฆฌ์คํธ์ ๊ฐ์ ๊ฐ์ฒด ์ํํ ๋, enumerate๋ก ์์์ ์์(์ธ๋ฑ์ค)์ ์์๋ฅผ ๋์์ ์ํํ ์ ์๋ค.
๋ฆฌ์คํธ ๋ง๊ณ ํํ, ๋์ ๋๋ฆฌ์๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
๋ฐ๋ณต๋ฌธ(for ๋ฌธ)
๋ค์๊ณผ ๊ฐ์ ๋ฆฌ์คํธ๊ฐ ์๋ค๊ณ ์๊ฐํด ๋ณด์.
Arr = ['Vaundy', 'Kaze', 'Ayase']
ํ์ด์ฌ์์ for๋ฌธ์ผ๋ก ์ํํ ๋ ๋ณดํต ๋ค์๊ณผ ๊ฐ์ด ํ๋ค.
for value in Arr:
print(value)
Vaundy
Kaze
Ayase
๋ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๋ฅผ ์ํํ ๋๋ ์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
for i in range(len(Arr)):
print(i)
0
1
2
๊ทธ๋ผ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋์์ ์ถ๋ ฅํ๊ณ ์ถ์ ๋๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊น?๋ผ๊ณ ํ๋ค๋ฉด ๋ณดํต ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ๋๋ถ๋ถ(+๋) ์์ฑํ ๊ฒ์ด๋ค.
for i in range(len(Arr)):
print(i, Arr[i])
0 Vaundy
1 Kaze
2 Ayase
๊ทผ๋ฐ ์ด๋ฐ ๋ฐฉ๋ฒ์ 'ํ์ดํ ๋(Pythonic)'ํ์ง ์๋ค๊ณ ํ๋ค(๊ธ ์ฐ๋ฉด์ ์ฒ์ ์).
์ข ๋ ๊น๋ํ๊ฒ ์์ฑํ๊ธฐ ์ํด enumerate() ํจ์๋ฅผ ํ์ฉํด์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๋์์ ์ ๊ทผํด ๋ณด์.
enumerate() ์ฌ์ฉ
์์์ ์ฌ์ฉํ Arr ๋ฆฌ์คํธ๋ฅผ enumerateํจ์๋ก ์ํํด ๋ณด์.
for value in enumerate(Arr):
print(value)
(0, 'Vaundy')
(1, 'Kaze')
(2, 'Ayase')
์์ ๊ฐ์ด tuple์ ํํ๋ก ๋ฐํ๋๋ ๊ฑธ ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๋ฐ๋ก ์ ๊ทผํ๋ ค๋ฉด unpacking์ ํด์ฃผ์.
for i, value in enumerate(Arr):
print(i, value)
0 Vaundy
1 Kaze
2 Ayase
์ด๋ ๊ฒ ํ๋ฉด ๊น๋ํ๊ฒ ๋ฐ๋ณต๋ฌธ์์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
enumerate() ํ์ฉ
์์ํ๋ index ๊ฐ ๋ณ๊ฒฝ
๋ค์๊ณผ ๊ฐ์ด enumerate() ํจ์๋ฅผ ํธ์ถํ ๋, ๋ค์ ์ธ์์ ์์ํ๊ณ ์ถ์ index๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
for i, value in enumerate(Arr, 1):
print(i, value)
1 Vaundy
2 Kaze
3 Ayase
๋ฌธ์์ด ์ํ
my_word = "Miphas Theme"
for i, value in enumerate(my_word, 1):
print(i, value)
1 M
2 i
3 p
4 h
5 a
6 s
7
8 T
9 h
10 e
11 m
12 e
2์ฐจ์ ๋ฆฌ์คํธ ์ํ
๋ณดํต 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉฐ ํ๊ณผ ์ด์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋ค์๊ณผ ๊ฐ์ด ํ๋ค.
Box = [['A', 'B', 'C', 'D'], ['E', 'F'], ['G', 'H', 'I']]
for i in range(len(Box)):
for j in range(len(Box[i])):
print(i, j, Box[i][j])
0 0 A
0 1 B
0 2 C
0 3 D
1 0 E
1 1 F
2 0 G
2 1 H
2 2 I
์ด์ enumerate() ํจ์๋ฅผ ์ฌ์ฉํด ๋ณด์.
for i, row in enumerate(Box):
for j, value in enumerate(row):
print(i, j, value)
0 0 A
0 1 B
0 2 C
0 3 D
1 0 E
1 1 F
2 0 G
2 1 H
2 2 I
๋งค์ฐ ํ์ดํ ๋ํ๋ค.
๊ฒฐ๋ก
ํ์ด์ฌ์์ for๋ฌธ์ผ๋ก ์ํํ ๋ enumerate() ํจ์๋ฅผ ์ ํ์ฉํด์ ํ์ดํ ๋ํ๊ฒ ์ฝ๋๋ฅผ ์จ๋ณด์.
์ฐธ๊ณ
'๐ Language > [python]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ] ์ฌ๋ฌ ํ์ผ ์ด๋ฆ ํ๋ฒ์ ๋ณ๊ฒฝํ๋ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ(feat. os.rename) (0) | 2023.07.28 |
---|---|
[ํ์ด์ฌ] ์ฝฐ์ธ(Quine) ํ๋ก๊ทธ๋จ (0) | 2023.07.20 |
[ํ์ด์ฌ] dis๋ชจ๋๋ก ๋ฐ์ดํธ ์ฝ๋ ํ์ธ - dis (0) | 2022.08.08 |
[ํ์ด์ฌ] ํ์ด์ฌ ์ฝ๋ ์คํ ์ธก์ - time (0) | 2022.08.05 |
[ํ์ด์ฌ] if __name__ == "__main__" (0) | 2022.08.03 |