컴퓨터공부/Python

Python 배열구조 tuple

E.K.Lim 2017. 1. 20. 17:35

Tuple 특징

- list 자료구조처럼 index 사용 가능

- 형식) 참조변수 = (값1, 값2, ..., 값n)

- 수정 불가능한 대신 list보다 속도가 빠름!


1
2
3
4
5
= (1,2,3,4)
 
# index 사용 예
print(t[1:3]) # 1번 인덱스(실제로는 두번째)부터 3번 전까지 뽑아라!
print(t[-1]) # 마지막 하나만 뽑아라!
cs

결과

(2, 3)
4

수정은 안됨: 예시

1
2
3
= (1,2,3,4)
 
t[1]=3
cs

결과

TypeError: 'tuple' object does not support item assignment

cf. zip 함수 : tuple 타입으로 묶어주는 함수!

1
2
= zip([1,2,3], [4,5,6,7],[8,9,10])
print(z)
cs

결과

<zip object at 0x0000000000B64048>

객체 정보만 뜬다! 결과를 보려면 다음과 같이!


1
2
3
4
5
6
7
8
9
# 2개 원소로 묶기
sel = [1,2]
= zip(sel, [1,2,3],[4,5,6]) # sel의 원소만큼 묶어줌
print(list(z)) 
 
# 3개 원소로 묶기
sel = ['a','b','c']
= zip(sel, [1,2,3],[4,5,6]) # sel의 원소만큼 묶어줌
print(list(z)) 
cs


[(1, 1, 4), (2, 2, 5)]

[('a', 1, 4), ('b', 2, 5), ('c', 3, 6)]

웃긴 건, 짝이 안맞으면 남은 건 버려진다는 것^^;;;