• 회원가입
  • 로그인
  • 구글아이디로 로그인

[basic] Python - Tuple (투플/튜플) - 변경 불가 모음

2938  

목차

  1. Tuple 정의
  2. Tuple 요소 접근
  3. Tuple 요소 변경 - 불가. / 단, List로 변환 통해 가능
  4. Tuple 요소 출력 ※ for...in... 반복문
  5. Tuple 요소 존재 체크. ※ if...in... 키워드
  6. Tuple 요소 개수 (= Tuple 길이) ※ len() 함수
  7. Tuple 요소 추가 - 불가
  8. 1개 요소 갖는 Tuple 생성
  9. 요소 제거 불가. / 단, Tuple 제거 가능 - del 키워드 이용
  10. Tuple 결합 (+ 연산자 이용)
  11. tuple() 생성자
  12. 빈 Tuple 생성
  13. Tuple에 함수 적용
  14. Tuple 메서드 종류

List 먼저 학습 권장.

 

Tuple 정의

 

순서 O, 색인 O, 변경 X, 중복 O, 소괄호 () 이용하는 자료 모음.

 


[예제]

 

code = ("HTML", "CSS", "JS")

print(code)

 

결과값: ('HTML', 'CSS', 'JS')

 

Tuple 요소 접근

 

색인번호로 Tuple의 각 Item에 접근 가능.

※ List, String도 마찬가지.

 


1. 양의 색인번호 : Tuple 맨 앞부터 색인 시작. (※ 맨 앞 : 0)

 

code = ("HTML", "CSS", "JS")

print(code[1])

 

결과값: CSS


2. 음의 색인번호 : Tuple의 맨 뒤부터 색인 시작. (※ 맨 뒤 : -1)

 

code = ("HTML", "CSS", "JS")

print(code[-1])

 

결과값: JS


3. 색인 범위 : tuple[시작:끝] 형태이며, 끝은 포함 X.

 

code = ("HTML", "CSS", "JS", "PHP", "SQL")

print(code[1:3])

 

결과값: ('CSS', 'JS')


4. tuple[:끝] 형태 경우, 맨 처음부터 선택됨.

 

code = ("HTML", "CSS", "JS", "PHP", "SQL")

print(code[:3])

 

결과값: ('HTML', 'CSS', 'JS')


5. tuple[시작:] 형태 경우, 맨 끝까지 선택됨.

 

code = ("HTML", "CSS", "JS", "PHP", "SQL")

print(code[1:])

 

결과값: ('CSS', 'JS', 'PHP', 'SQL')


6. tuple[시작음수:끝음수] 경우, 맨 뒤부터 색인 시작.

 

code = ("HTML", "CSS", "JS", "PHP", "SQL")

print(code[-3:-1])

 

결과값 : ('JS', 'PHP')

 

Tuple 요소 변경 - 불가. / 단, List로 변환 통해 가능

 

Tuple은 기본적으로 변경 불가.

단, (Tuple → List →Tuple) 변환 과정 통해 변경 가능.

 


[예제]

 

x = ("HTML", "CSS", "JS")

y = list(x)

y[1] = "Python"

x = tuple(y)


print(x) 

결과값 : ('HTML', 'Python', 'JS')

 

Tuple 요소 출력 ※ for...in... 반복문

 

for...in... 반복문 통해, Tuple의 각 요소에 접근 가능.

 


[예제]

 

code = ("HTML", "CSS", "JS")

for x in code:

  print(x)

 

결과값:

HTML

CSS

JS

 

Tuple 요소 존재 체크. ※ if...in... 키워드

 

if...in... 키워드 활용해, 특정 요소 존재 여부 체크.

 


[예제]

 

code = ("HTML", "CSS", "JS")

if "CSS" in code:

  print("있음.")

 

결과값: 있음.

 

Tuple 요소 개수 (= Tuple 길이) ※ len() 함수

 

len() 함수 이용해, Tuple 길이 (= 요소 개수) 측정 가능.

 


[예제]

 

code = ("HTML", "CSS", "JS"]

print(len(code))

 

결과값: 3

 

Tuple 요소 추가 - 불가

 

Tuple은 한번 생성되면, 변경 불가.

 


[예제]

 

code = ("HTML", "CSS", "JS")

code[3] = "PHP" # 에러 유발.

print(code) 

 

 

1개 요소 갖는 Tuple 생성

 

요소 뒤에 콤마 (,)  찍어야 Tuple로 인식. (예제1)

※ 콤마 안 찍으면, 요소 자료형으로 인식. (예제2)

 


[예제1] - tuple로 인식 O.

 

a = ("HTML",)

print(type(a)) # <class 'tuple'>

 

b = (34,)

print(type(b)) # <class 'tuple'>

 


[예제2] - Tuple로 인식 X.

 

a = ("HTML")

print(type(b)) # <class 'str'>

 

b = (34) 

print(type(b)) # <class 'int'>


 

요소 제거 불가. / 단, Tuple 제거 가능 - del 키워드 이용

 

Tuple은 변경 불가라, 요소 제거 불가함.

단, del 키워드로 Tuple 자체 제거 가능.

 


[예제] - tuple 자체 제거.

 

code = ("HTML", "CSS", "JS")

del code

print(code) # 에러 발생. (∵ 출력할 Tuple 존재 X)


 

Tuple 결합 (+ 연산자 이용)

 

+ 키워드 사용해, Tuple 결합 가능.

 


[예제]

 

code1 = ("HTML", "CSS", "JS")

code2 = ("PHP", "SQL")

hz = code1 + code2

print(hz)

 

결과값: ('HTML', 'CSS', 'JS', 'PHP', 'SQL')

 

tuple() 생성자

 

※ tuple() 함수 사용해 Tuple 생성 가능. 

※ 주의: 이중 소괄호 형태여야 함. 

 


[예제]

 

code = tuple(("HTML", "CSS", "JS"))

print(code)


반환값: ('HTML', 'CSS', 'JS')

 

빈 Tuple 생성

 

방법1. 소괄호 () 이용: 

(예) code = ()

 

방법2. tuple() 생성자 이용:

(예) code = tuple()

 

 

Tuple에 함수 적용

※ 아래 함수는 List나 Tuple 모두에 사용 가능.

 

len() 함수 - Tuple 길이 (= 요소 개수)

max() 함수 - 최대값

min() 함수 - 최소값

sum() 함수 - 합산. (= 합계)

sorted() 함수 - 정렬. (오름차순, 내림차순)

reversed() 함수 - 역순. (= 순서 뒤집기)

 


len() 함수 - Tuple 길이. (= 요소 개수)

 

위에서 이미 설명.

 


max() 함수 - 최대값.

 

nums = (1, 2, 3)

print(max(nums)) # 3

 


min() 함수 - 최소값.

 

nums = (1, 2, 3)

print(max(nums)) # 1

 


sum() 함수 - 합계 (= 합산 = 총합)

 

nums = (1, 2, 3)

print(sum(nums)) # 6

 


sorted() 함수 - (오름차순/내림차순) 정렬.

 

nums = (3, 1, 4, 2)


# sorted() 함수만 적용 시, 결과값이 List 형태로 반환.

print(sorted(nums)) # [1, 2, 3, 4]

print(sorted(nums, reverse=True)) # [4, 3, 2, 1]


# tuple() 함수를 추가로 적용해야 tuple 형태가 됨.

print(tuple(sorted(nums))) # (1, 2, 3, 4)

print(tuple(sorted(nums, reverse=True))) # (4, 3, 2, 1)

 


reversed() 함수 - 역순. (= 순서 뒤집기)

 

nums = (3, 1, 4, 2)


# reversed() 함수만 적용 시, 결과값 확인 불가.

print(reversed(nums)) # <reversed object at 0x00000228A8DF0BE0>


# 추가로, list() 또는 tuple() 함수로 감싸야 확인 가능.

print(tuple(reversed(nums))) # (2, 4, 1, 3)

print(list(reversed(nums))) # [2, 4, 1, 3]

 

 

Tuple 메서드 종류

 

tuple.count()

지정된 값이 튜플에 포함된 횟수 반환.

 

tuple.index()

튜플에서 지정 값 검색 후, 찾은 위치 반환.

※ 중복 시, 맨 처음 것의 위치만 반환.

 



분류 제목
basic Python - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
1/24
목록
찾아주셔서 감사합니다. Since 2012