12.1 ์ธ๋ฑ์ค ๋ฒ์
์๋ธ ํํ์ ์ป๋ ์ฝ๋๋ ์๋ธ ๋ฆฌ์คํธ๋ฅผ ์ป๋ ์ฝ๋์ ๋งค์ฐ ๋น์ทํด. ์ด ์ ์์ ํํ์ ๋ฆฌ์คํธ์ ๋ฎ์์ด. ๋ด์ฉ์ ๋ฐ๋ณตํ๊ณ ์ถ์ง ์์ง๋ง, ๋ฐ์ ๋ฐ๋ณต์ด๋๊น...
์๋ธ ํํ์ ์ป๋ ๊ฒ, ์ฆ slicing์ ํํ์ ์ผ๋ถ๋ถ์ ์ถ์ถํด์ ์๋ก์ด ํํ์ ๋ง๋๋ ๊ฑธ ๋งํด. ์ด ๊ณผ์ ์ ํํ์ ์ ์ฅ๋ ํน์ ๋ฐ์ดํฐ ๋ถ๋ถ์ ๋ค๋ค์ผ ํ ๋ ํนํ ์ ์ฉํด.
์ฌ๋ผ์ด์ค ๋ฌธ๋ฒ
์ฌ๋ผ์ด์ค๋ ๋๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ, ์์ ์์๊ณผ ๋ ์ธ๋ฑ์ค๋ฅผ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถํด์ ์ง์ ํด. ์์ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด, ์ฌ๋ผ์ด์ค๋ ์ฒซ ๋ฒ์งธ ์์๋ถํฐ ์์ํ๊ณ ; ๋ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด, ์ฌ๋ผ์ด์ค๋ ํํ์ ๋๊น์ง ์งํ๋ผ.
ํํ ์ฌ๋ผ์ด์ค๋ tuple[start:stop:step] ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋๋ฐ, ์ฌ๊ธฐ์:
-
start
โ ์์ ์์์ ์ธ๋ฑ์ค(ํฌํจ); -
stop
โ ๋ง์ง๋ง ์์์ ์ธ๋ฑ์ค(ํฌํจ ์๋จ); -
step
โ ์์ ์ ํ์ ์ฌ์ฉ๋๋ ๊ฐ๊ฒฉ.
์์ :
my_tuple = (0, 1, 2, 3, 4, 5)
sub_tuple = my_tuple[1:4] # ์ธ๋ฑ์ค 1๋ถํฐ 3๊น์ง ์์๋ฅผ ๊ฐ์ง ์๋ธ ํํ์ ๊ฐ์ ธ์จ๋ค
print(sub_tuple) # (1, 2, 3)์ ์ถ๋ ฅํ๋ค
sub_tuple_with_step = my_tuple[0:6:2] # 0์์ 5๊น์ง์ ๊ฐ ๋ ๋ฒ์งธ ์์๋ฅผ ๊ฐ์ ธ์จ๋ค
print(sub_tuple_with_step) # (0, 2, 4)๋ฅผ ์ถ๋ ฅํ๋ค
๋ง์ฝ start
๊ฐ ์ง์ ๋์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ 0์ด๊ณ , stop
์ด ์ง์ ๋์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ len(tuple)
์ด์ผ. step
์ ๊ธฐ๋ณธ์ ์ผ๋ก 1์ด์ผ.
์์ :
# 0๋ถํฐ 5๊น์ง ์์๋ฅผ ๊ฐ์ง ํํ์ ๋ง๋ ๋ค
my_tuple = (0, 1, 2, 3, 4, 5)
# ์๋ ํํ์ ๋ ๋ฒ์งธ ์์๋ถํฐ ์๋ก์ด ํํ์ ๋ง๋ ๋ค
sub_tuple = my_tuple[1:]
print(sub_tuple) # ์ถ๋ ฅ: (1, 2, 3, 4, 5)
# ์๋ ํํ์ ์์๋ถํฐ ๋ค ๋ฒ์งธ ์์๊น์ง(์ธ๋ฑ์ค 4) ์๋ก์ด ํํ์ ๋ง๋ ๋ค, ๊ฐ๊ฒฉ 1(๊ธฐ๋ณธ๊ฐ)
sub_tuple_with_step = my_tuple[:5]
print(sub_tuple_with_step) # ์ถ๋ ฅ: (0, 1, 2, 3, 4)
12.2 ์์ ์ธ๋ฑ์ค
Python์์ ์์ ์ธ๋ฑ์ค๋ -1์์ ์์ํ๋ฉฐ, ์ด๋ ๋ฆฌ์คํธ(๋๋ ํํ)์ ๋ง์ง๋ง ์์๋ฅผ ๋ํ๋ด. -2๋ ๋์์ ๋ ๋ฒ์งธ ์์๋ฅผ ๋ํ๋ด๊ณ , ์ด๋ฐ ์์ผ๋ก ๊ณ์๋ผ. ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํํ์ ๋ง์ง๋ง๋ถํฐ ์์์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ด, ์ธ๋ฑ์ค๋ฅผ ์ฒ์๋ถํฐ ๊ณ์ฐํ ํ์๊ฐ ์์ด.
์ฌ์ฉ ์์
์ฌ๋ผ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์์ ์ธ๋ฑ์ค ์ฌ์ฉ์ ์ดํด๋ณด์. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ด ํฌํจ๋ ํํ์ด ์๋ค๊ณ ํด๋ณด์:
my_tuple = (10, 20, 30, 40, 50, 60, 70, 80)
ํํ์ ๋์์ ์ค๊ฐ๊น์ง ์์๋ฅผ ํฌํจํ๋ ์๋ธ ํํ์ ์ป์ผ๋ ค๋ฉด ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ด.
sub_tuple = my_tuple[-3:-1]
print(sub_tuple) # (60, 70)์ ์ถ๋ ฅํ๋ค
๋ฐ๋ผ์ my_tuple[-3:-1]
์ ์ธ๋ฑ์ค -3
(๋์์ ์ธ ๋ฒ์งธ)์์ -1
(๋ง์ง๋ง ์์๋ ํฌํจ ์๋จ)๊น์ง์ ์์๋ฅผ ์ ํํ๋ฉฐ, (60, 70)์ ํฌํจํ๋ ํํ์ ๋ฐํํด.
ํํ์ ๋ง์ง๋ง ์์ ๊ฐ์ ธ์ค๊ธฐ:
my_tuple = (10, 20, 30, 40, 50)
last_element = my_tuple[-1]
print(last_element) # 50์ ์ถ๋ ฅํ๋ค
์ฌ๊ธฐ์, my_tuple[-1]
์ ํญ์ ํํ์ ๋ง์ง๋ง ์์๋ฅผ ๋ฐํํ๋ค๋ ์ ์ด ์์ฃผ ํธ๋ฆฌํด, ํนํ ํํ์ ์์ ์๋ฅผ ๋ชจ๋ฅผ ๋ ๋ง์ด์ผ.
ํํ์ ์์๋ฅผ ๋ค์ง๊ธฐ:
my_tuple = (10, 20, 30, 40, 50)
reversed_tuple = my_tuple[::-1]
print(reversed_tuple) # (50, 40, 30, 20, 10)์ ์ถ๋ ฅํ๋ค
์ฌ๋ผ์ด์ค [::-1]์ ์ฌ์ฉํ๋ฉด ํํ์ ์์ ์์๋ฅผ ์ฝ๊ฒ ๊ฑฐ๊พธ๋ก ๋ค์ง์ ์ ์์ด, ์์๋ฅผ ๋ฐ๋ ์์๋ก ์ ๋ ฌํ ์๋ก์ด ํํ์ ์ป์ ์ ์์ง.
12.3 ํํ์ ์์๊ฐ ์๋์ง ํ์ธํ๊ธฐ
ํํ์ ์์๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ์ ์์๊ฐ ํํ์ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ณธ์ ์ธ ์์
์ด์ผ.
์ด ์์
์ ์ฐ์ฐ์ in
์ ์ฌ์ฉํ์ฌ ์ด๋ฃจ์ด์ง๋ฉฐ, ์์๊ฐ ํํ์ ์กด์ฌํ๋ฉด True๋ฅผ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด False๋ฅผ ๋ฐํํด.
์ฐ์ฐ์ in
์ฌ์ฉํ๊ธฐ
in
์ฐ์ฐ์๋ ์์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ๋ฐฉ๋ฒ์ด์ผ:
my_tuple = (1, 2, 3, 4, 5)
element = 3
if element in my_tuple:
print(f"{element} is in the tuple.")
else:
print(f"{element} is not in the tuple.")
์์๊ฐ ์๋์ง ํ์ธํ๊ธฐ:
๋ง์ฝ ํํ์ ์์๊ฐ ์๋์ง ํ์ธํ๊ณ ์ถ๋ค๋ฉด, ๊ทธ๋ฅ not in
๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ผ:
names = ('Alice', 'Bob', 'Charlie')
search_name = 'Alice'
if search_name not in names:
print(f"{search_name} ํํ์ ์์ด.")
else:
print(f"{search_name} ํํ์ ์์ด.")
๋ฆฌ์คํธ ์์ ๊ณผ ๊ฑฐ์ ๋ค๋ฅด์ง ์์โ์ด๊ฒ ๋ฐ๋ก Python์ ๋ณดํธ์ฑ๊ณผ ๋จ์ํจ์ด์ง.
GO TO FULL VERSION