프로그래밍/Python

[파이썬 독학]6. 튜플(튜플과 리스트 차이)

Beginner:) 2022. 7. 8.
320x100

2022.07.07 - [프로그래밍/Python] - [파이썬 독학] 5. 변수와 리스트(feat 이중 리스트)

 

[파이썬 독학] 5. 변수와 리스트(feat 이중리스트)

2022.07.04 - [프로그래밍/Python] - [Python 독학] 4. 변수&연산 [Python 독학] 4. 변수&연산 2022.06.27 - [프로그래밍/Python] - [Python 배우기] 3. 자료형 [Python 배우기] 3. 자료형 2022.06.26 - [프로그래..

park-duck.tistory.com

 

튜플은 리스트 개념만 이해했다면 무지무지 쉽다.

 

리스트는 대괄호 ' [ ] ' 로 감싼다면 

 

튜플은 소괄호 ' ( ) '로 감싼다. (생략은 가능하지만 튜플이라는 것을 명시하기 위해 사용하는 것을 추천)

 

그럼 리스트와 뭐가 다르냐면 값에 대한 수정, 삭제, 추가가 불가능하다. 

 

끝.  내긴 좀 날먹이니 사용 예를 들어본다.

 


 

ex) 주민번호 앞, 뒷자리를 변수에 저장하고 출력하라.

 

아래와 같이 리스트로 저장하면 어떻게 되겠는가.

resident_number = [220708,1111111]
print(resident_number[0], resident_number[1])
# 결과 2207081111111

 

주민번호를 관리하는 공단도 사람이 하는 일인지라 실수로 수정할 수 있다.

resident_number = [220708,1111111]
resident_number[0] = 3 # 실수!
print(resident_number[0], resident_number[1])
# 결과 31111111  => 사람의 주민번호는 8자리가 될 수 없다. 오류!

 

 

주민번호는 한 번 등록되면 변함이 없어야 하니 튜플로 생성한다.

resident_number = (220708,1111111)
resident_number[0] = 3 # 실수!
print(resident_number[0], resident_number[1])
# 결과 : 3을 대입하지 않고 오류경고 문자를 출력한다 !

 

"튜플은 값 할당을 지원하지 않습니다."라는 에러 메시지가 출력되고 실제로 resident_number[0]의 값 변화는 이루어지지 않는다.

그러면 직원이 실수로 주민번호를 수정하더라도 결과적으로는 수정되지 않는 것이다. 

 


튜플 또한 리스트와 같이 인덱싱, 슬라이싱, 더하기, 곱하기 등의 연산은 가능하다. (출력 관련 기능만!!!)

 

헷갈려하는 사람이 있을까봐 튜플 더하기 부분만 추가 설명하겠다.

 

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

#결과 : (1, 2, 'a', 'b', 3, 4)

튜플은 수정, 삭제, 추가가 불가능하다 했는데 튜플이 추가가 되었는데?라고 헷갈릴 수도 있다.

 

위 예제는 추가가 된 게 아니고 t1과 t2를 붙여서 나열한 것일 뿐, 값이 수정되거나 추가된 것은 아니다.

 

 

그러나 아래와 같이 t1과 t2를 붙여서 나열된 튜플을 새로운 변수에 저장하는 것은 가능하다. 

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

# 결과 : (1, 2, 'a', 'b', 3, 4)

이렇게 되면 t1과 t2는 값 수정&삭제&추가는 없으며 새로운 튜플 t3가 생긴 것일 뿐이다.

 

2022.08.19 - [프로그래밍/Python] - [파이썬 독학] 7. 딕셔너리(Dictionary)란?

 

[파이썬 독학] 7. 딕셔너리(Dictionary)란?

2022.07.08 - [프로그래밍/Python] - [파이썬 독학]6. 튜플(튜플과 리스트 차이) [파이썬 독학]6. 튜플(튜플과 리스트 차이) 2022.07.07 - [프로그래밍/Python] - [파이썬 독학] 5. 변수와 리스트(feat 이중리스트..

park-duck.tistory.com

 

 

반응형

댓글