파이썬 튜플 값 곱하기 - paisseon tyupeul gabs gobhagi

Python

[tuple] 튜플 요소끼리 더하기, 튜플요소에 상수 곱하기

파이썬에는 array와 유사해 보이는 tuple 이라는 개념이 있다.

() 를 사용하여 둘러싸면 tuple이 되는데 사전적 의미는 '한벌' 이다

참조: //wikidocs.net/13882

1. 요소끼리 더하기

두가지 tuple을 단순히 더하기 하면 두개의 요소를 추가한 것이된다.

(1,2,3)+(4,5,6) = (1,2,3,4,5,6)

이된다.

두tuple의 요소끼리 덧셈을 하기 위해서는 

즉 (1,2,3)+(4,5,6) = (5,7,9) 연산을 하기 위해서는

다음과 같이 해주면된다.

tupA=(1,2,3)

tupB=(4,5,6)

tupSum=tuple(sum(elem) for elem in zip(tupA, tupB))

2. 요소에 상수 곱하기

(1,2,3) 에 2를 곱하여 (2,4,6) 나오게 하기

tupA=(1,2,3)

tupMult=tuple(factor*elem for elem in tupA)

특이한 점

튜플은 값을 변경(수정, 삭제)할 수 없다.

한개짜리 튜플은 다음과 같이 해야 한다. (1,)

tuple(튜플)은 불변한 순서가 있는 객체의 집합

list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다.

다양한 타입을 함께 포함 할 수 있다.

t = ("감자", 1, 3.14, 0) print(t) type(t) ----------------------------------- #result ('감자', 1, 3.14, 0) <class 'tuple'>

순서가 있기때문에 인덱스로 접근 가능하다.

t = ("감자", 1, 3.14, 0) print(t[0]) print(t[1]) ----------------------------------- #result 감자 1

len 내장함수로 길이를 구할 수 있다.

t = ("감자", 1, 3.14, 0) print(len(t)) ----------------------------------- #result 4

list와 마찬가지로 for 문을 돌 수 있다.

t = ("감자", 1, 3.14, 0) for i in t: print(i) ----------------------------------- #result 감자 1 3.14 0

더하기 연산으로 tuple(튜플)을 추가할 수 있다.

t = ("감자", 1, 3.14, 0) t = t + ('사랑' ,'해') print(t) ----------------------------------- #result ('감자', 1, 3.14, 0, '사랑', '해')

곱하기 연산으로 tuple(튜플)을 반복할 수 있다.

t = ("감자", 1, 3.14, 0) print(t*2) ----------------------------------- #result ('감자', 1, 3.14, 0, '감자', 1, 3.14, 0)

tuple(튜플) 속에 tuple이 포함될 수 있습니다.

a = (('나무' ,2) , ('새',4), (6,'감기')) print(a[2]) print(a[2][1]) ----------------------------------- #result (6, '감기') 감기

tuple(튜플)이 하나의 원소만 존재하는 경우는 tuple(튜플)이 되지 않는다.

but 회피하는 방법이 있습니다. 한개의 원소 뒤에 콤마를 찍어주면 tuple이 유지됩니다.

a = (5000) b = (5000,) print(type(a)) print(type(b)) # print(len(a)) # TypeError: object of type 'int' has no len() print(len(b)) ----------------------------------- #result <class 'int'> <class 'tuple'> 1

tuple(튜플) 괄호()가 필수 조건은 아니다.

a = 1, 3, 2, 5, 7 print(type(a)) ----------------------------------- #result <class 'tuple'>

tuple(튜플)을 이용하여 함수에서 여러 값을 한꺼번에 리턴할 수 있다

def minmax(items): return min(items), max(items) print(minmax([-5, 6, 7, 8, 55, 96, 785, 362])) ----------------------------------- #result (-5, 785)

tuple(튜플)을 이용하여 변수를 한꺼번에 할당할 수 있다.(자바스크립트 ES6 해체할당과 비슷)

def minmax(items): return min(items), max(items) lower, upper = minmax([-5, 6, 7, 8, 55, 96, 785, 362]) print(lower) print(upper) print(lower, upper) ----------------------------------- #result -5 785 -5 785

tuple(튜플)속에 tuple(튜플)을 응용 하기

(a, (b,(c, d))) = (19,(5,(3,1))) print(a) print(b) print(c) print(d) ----------------------------------- #result 19 5 3 1

튜플을 이용한 변수값 스위치

a = '딸기' b = '토마토' a, b = b, a print(a, b) ----------------------------------- #result 토마토 딸기

tuple(튜플)변환 - tuple(iterable한 객체)는 변형가능

print(tuple([1, 7, 5, 3, 9])) print(tuple("abcde")) print(tuple({'abc': 5, 'def': 2, 'ghi': 999})) # print(tuple(12345)) # TypeError: 'int' object is not iterable ----------------------------------- #result (1, 7, 5, 3, 9) ('a', 'b', 'c', 'd', 'e') ('abc', 'def', 'ghi')

in 으로로 포함여부 확인 가능

a = 'a' in ('a', 'b', 'c') b = 5 in ('a','b','c') c = 5 not in ('a','b','c') print(a, b, c) ----------------------------------- #result True False True

출처 ://wikidocs.net/16042

Toplist

최신 우편물

태그