반응형
SMALL
- tuple
1. list type과 유사
2. 읽기 전용 (저장된 데이터 수정, 삭제 불가)
3. list 에 비해 속도가 빠르다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #-*- coding: utf-8 -*- tuple1=("one","two","three") print tuple1[0] # list type 과 참조하는 방식이 같다 a = tuple1[2] # 2 번방 참조해서 다른 변수에 담기 print a # 수정 불가 (read only) # tuple[1] = "test" # tuple type 을 list type 으로 변환해서 새로운 객체 얻어내기 list1 = list(tuple1) # list class 의 생성자 호출 print "list1 :", list1 # list type 을 tuple type 으로 변환해서 새로운 객체 얻어내기 tuple2 = tuple(list1) # tuple class 의 생성자 호출 print "list2 :", tuple2 # tuple1 과 tuple2 의 참조값 비교 result = tuple1==tuple2 # 내용비교 result2 = tuple1 is tuple2 # 정확한 참조값 비교 print "tuple1 == tuple2 : ", result print "tuple1 is tuple2 : ", result2 num1 = 10 num2 = 10 print "num1 == num2 :", num1==num2 print "num1 is num2 :", num1 is num2 | cs |
list는 대괄호 [ ] 로 묶이고
tuple 은 소괄호 ( ) 로 묶이는 것을 볼 수 있다.
참조값을 비교하는 방법과 내용을 비교하는 방법이 있다.
참조값 비교 --> " is "
내용을 비교 --> " == "
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #-*- coding: utf-8 -*- # 방 1개 짜리 tuple 객체 만들때는 주의! nums = [10] # 일반 괄호와 구분하기 위해서 우측에 , 를 하나 붙여준다. nums1 = (10) nums2 = (10,) print type(nums1) print type(nums2) nums3 = 10, 20, 30 print "num3 : ", nums3 | cs |
nums는 방 1개를 가지고 있는 list type
방 1개짜리 tuple를 가지는 것을 만들떄는 nums1 처럼 하기 쉽상인데
위 결과를 보면 알수 있듯이 nums1 은 int 타입으로 인식하는 것을 알수 있다.
그냥 괄호만 쓴다면 연산을 할 때도
nums = ( ( 1 + 3 ) * 5 ) / 2 이런 식으로 괄호를 쓸 수도 있어
연산에 필요한 괄호인지 튜플을 만들려고 쓴 괄호인지 컴퓨터가 알 수가 없으니
방 1개 짜리를 만들려면 뒤에 콤마( , ) 를 붙여줘야 tuple type 으로 인식을 함.
그리고 꼭 괄호를 안쓰고 컴마로 구분을 해줘도
nums3 처럼 튜플로 만들수도 있다.
튜플에 있는 값을 각각의 변수에 대입 하는 방법이다.
1 2 3 4 5 6 7 8 | #-*- coding: utf-8 -*- myFriend = ("gura","monkey","dog") # tuple 에 있는 값을 각각의 변수에 대입하기 a, b, c = myFriend print a, b, c | cs |
코딩과 결과만 보면 알 수 있다고 생각하여 궂이 설명은... ㅎㅎ;;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #-*- coding: utf-8 -*- first = "boy" second = "girl" # 두 변수의 내용을 서로 바꾸려면? ''' empty = first first = second second = empty ''' second, first = first, second print "first:",first, "second:",second | cs |
first와 second에 들어 있는 값을 서로 바꾸려면 주석안에 3줄 있는 것처럼 생각하기 마련인데 (파이썬은 안한사람이라면)
파이썬에서는 14번째 라인에 적혀 있는 것처럼 한줄로 바꿀수 있다.
반응형
'FrameWork > Python' 카테고리의 다른 글
파이썬 set (0) | 2017.08.09 |
---|---|
파이썬 dict (0) | 2017.08.09 |
파이선 list (0) | 2017.08.09 |
파이선 함수 사용 방법 (python function) (0) | 2017.08.09 |
파이썬 str Type (0) | 2017.08.08 |