본문 바로가기
프로그래밍 언어/Python

[python] 파이썬 튜플 (tuple)

by 까망 하르방 2021. 8. 18.
반응형

튜플 (tuple)

- 순서가 있는 객체 집합이다. (인덱스로 접근 가능)

- 튜플(Tuple)은 변경될 수 없는 리스트 소괄호 () 사용

  list 형과 비슷하지만 생성되고 값이 변경되지 않는 것에 차이가 있다.

→ 값이 변경될 것 같다? list

→ 값이 변경될 리 없다. tuple

 

튜플 생성

t = tuple()
t = (1, )               # 1개 요소만 존재할 때도 반드시 콤마(,) 필요
t = (1, 2, 3)
t = 1, 2, 3             # 괄호 생략 가능
t = (1, 2, ('a', 'b'))  # 내부적으로 중복 가능

 

원소 접근

t = ("color", 1)
print(t)

# t[0] = None         # 원소 변경이 되지 않기 때문에 Error

 

원소 추가

튜플은 기존 값은 수정하지 못하지만 새로운 데이터를 추가할 수 있다.

+ : 튜플에 원소 추가

* : 튜플 원소 반복

t1 = ("color", 1)
t2 = (2,3)

ret = t1 + t2
print(ret)
print(ret * 2)

 

튜플 관련 함수 및 특징

# in 연산자
3 in (1, 2, 3)                 # True
#for in
for x in (1, 2, 3): print x    # 1 2 3

# 튜플 비교
cmp(t1, t2)

#튜플 길이
len(t)

#최대값/최소값
max(t) / min(t)

#리스트 → 튜플 변환
tuple(seq)

 

다른 언어에서는 변수 값 교환할 때, 임시 변수를 사용하지만

파이썬에서는 튜플을 통해 바로 교환할 수 있다.

// C++
inline void swap(int &a, int &b)
{
    int tmp = a;
    a = b;
    b == tmp;
}

// python
a, b = b, a

 

파이썬에서는 함수에서 여러 값을 반환할 수 있는데

튜플(tuple)을 이용하는 것이다.

▶ [python] 파이썬 함수 활용해보기 

import math

def calCircle(r):
    area = math.pi * r * r
    circum = 2 * math.pi * r
    return (area, circum)


radius = float(input("원의 반지름을 입력하시오: "))

(a, c) = calCircle(radius)

print("원의 넓이:" ,a , "이고 원의 둘레:", c)

반응형

댓글