λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Python

[Python] νŠœν”Œ μžλ£Œν˜•

by μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 2. 5.
λ°˜μ‘ν˜•

νŠœν”Œ(tuple)은 λͺ‡ 가지 점을 μ œμ™Έν•˜κ³€ λ¦¬μŠ€νŠΈμ™€ 거의 λΉ„μŠ·ν•˜λ©° λ¦¬μŠ€νŠΈμ™€ λ‹€λ₯Έ 점은 λ‹€μŒκ³Ό κ°™λ‹€.

​

-λ¦¬μŠ€νŠΈλŠ” [ ]으둜 λ‘˜λŸ¬μ‹Έμ§€λ§Œ νŠœν”Œμ€ ( )으둜 λ‘˜λŸ¬μ‹Όλ‹€.

-λ¦¬μŠ€νŠΈλŠ” κ·Έ κ°’μ˜ 생성·μ‚­μ œ·μˆ˜μ •μ΄ κ°€λŠ₯ν•˜μ§€λ§Œ νŠœν”Œμ€ κ·Έ 값을 λ°”κΏ€ 수 μ—†λ‹€.

 

>>> t1 = ()
>>> t2 = (1,)
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3
>>> t5 = ('a', 'b', ('ab', 'cd'))

t2처럼 단지 1개의 μš”μ†Œλ§Œμ„ κ°€μ§ˆ λ•ŒλŠ” μš”μ†Œ 뒀에 콀마(,)λ₯Ό λ°˜λ“œμ‹œ λΆ™μ—¬μ•Ό ν•œλ‹€.

t4 = 1, 2, 3처럼 κ΄„ν˜Έ ( )λ₯Ό μƒλž΅ν•΄λ„ λ¬΄λ°©ν•˜λ‹€.

​

​

ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ κ·Έ 값이 항상 λ³€ν•˜μ§€ μ•Šκ²Œν•˜λ €λ©΄ νŠœν”Œμ„ μ‚¬μš©ν•˜κ³ ,

μˆ˜μ‹œλ‘œ κ·Έ 값을 λ³€ν™”μ‹œμΌœμ•Ό ν•  경우라면 리슀트λ₯Ό μ‚¬μš©ν•œλ‹€.

μ‹€μ œ ν”„λ‘œκ·Έλž¨μ—μ„  νŠœν”Œλ³΄λ‹€ 리슀트λ₯Ό 더 많이 μ‚¬μš©ν•œλ‹€.

 

 

 

β–Ά νŠœν”Œμ˜ μš”μ†Œκ°’μ„ μ§€μš°κ±°λ‚˜ λ³€κ²½ν•˜λ €κ³  ν•˜λ©΄ μ–΄λ–»κ²Œ 될까?

-νŠœν”Œ μš”μ†Œκ°’μ„ μ‚­μ œν•˜λ € ν•  λ•Œ

>>> t1 = (1, 2, 'a', 'b')
>>> del t1[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion

νŠœν”Œμ€ μš”μ†Œλ₯Ό μ§€μš°λŠ” ν–‰μœ„κ°€ μ§€μ›λ˜μ§€ μ•ŠλŠ”λ‹€.

 

 

-νŠœν”Œ μš”μ†Œκ°’μ„ λ³€κ²½ν•˜λ € ν•  λ•Œ

>>> t1 = (1, 2, 'a', 'b')
>>> t1[0] = 'c'   ← νŠœν”Œ t1의 첫 번째 μš”μ†Œκ°’μ„ λ³€κ²½ν•˜λ €κ³  μ‹œλ„
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item assignment

νŠœν”Œμ˜ μš”μ†Œκ°’μ„ λ³€κ²½ν•˜λ €κ³  해도 λ§ˆμ°¬κ°€μ§€λ‘œ 였λ₯˜κ°€ λ°œμƒν•œλ‹€.

 

 

 

β–Ά νŠœν”Œ 닀루기

νŠœν”Œμ€ 값을 λ³€ν™”μ‹œν‚¬ 수 μ—†λ‹€λŠ” 점만 μ œμ™Έν•˜λ©΄ λ¦¬μŠ€νŠΈμ™€ μ™„μ „νžˆ λ™μΌν•˜λ‹€.

 

-μΈλ±μ‹±ν•˜κΈ°

>>> t1 = (1, 2, 'a', 'b')
>>> t1[0]
1
>>> t1[3]
'b'

 

 

-μŠ¬λΌμ΄μ‹±ν•˜κΈ°

>>> t1 = (1, 2, 'a', 'b')
>>> t1[1:]   ← t1[1]λΆ€ν„° λκΉŒμ§€
(2, 'a', 'b')

t1[1]λΆ€ν„° νŠœν”Œμ˜ λ§ˆμ§€λ§‰ μš”μ†ŒκΉŒμ§€ μŠ¬λΌμ΄μ‹±ν•˜λŠ” μ˜ˆμ΄λ‹€.

 

 

-νŠœν”Œ λ”ν•˜κΈ°

>>> t2 = (3, 4)
>>> t1 + t2
(1, 2, 'a', 'b', 3, 4)

 

 

-νŠœν”Œ κ³±ν•˜κΈ°

>>> t2 * 3
(3, 4, 3, 4, 3, 4)

 

 

-νŠœν”Œ 길이 κ΅¬ν•˜κΈ°

>>> t1 = (1, 2, 'a', 'b')
>>> len(t1)
4
λ°˜μ‘ν˜•

λŒ“κΈ€