반응형
[Python] list / tuple / dict / set 이용하기
- list 이용하기
1. 순서가 있다
2. 여러 type 의 데이터를 저장할 수 있다.
3. 값 변경 가능
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | a=[1,2,3] b=[10, True, "abcd"] c=[10, 20, 30] d=a # 같은 참조값 확인! print "a id:", id(a) print "d id:", id(d) print "a[0] :", a[0] print "a[1] :", a[1] print "a[2] :", a[2] family=[u"엄마",u"아빠",u"나"] print u"가족 구성원 목록:", family[0], family[1], family[2] print u"가족 구성원 수 :", len(family) # list type 에 데이터 추가 family.append(u"남동생") family.append(u"여동생") print "추가된 구성원 :", family[3], family[4] print "가족 구성원 수:", len(family) # 값에 의한 삭제 family.remove(u"남동생") # 인덱스에 의한 삭제 del family[0] print u"삭제후 구성원 목록:", family[0], family[1], family[2] print u"삭제후 구성원 수:", len(family) # 빈 list type 객체 만들고 numbers=[] # 데이터 추가 numbers.append(10) numbers.append(40) numbers.append(50) numbers.append(20) numbers.append(30) # list 의 구조 확인 print numbers # 오름 차순 정렬 numbers.sort() print u"오름 차순 정렬 후 numbers:", numbers # 내림 차순 정렬 numbers.sort(reverse=True) # keyword argument 전달 print u"내림차순 정렬 후 numbers:", numbers # slice 연습 numbers2=[1,2,3,4,5,6,7,8,9,10] print numbers2[0:2] print numbers2 print numbers2[3:5] print numbers2[-5:-1] print range(10) print range(20) a = range(5) print u"a type:", type(a) # list 에 들어 있는 값을 하나씩 순서대로 참조해서 for i in range(10): # 출력해보기 print i print "---------------" friends=["cat","dog","elephant","snake","frog"] for item in friends: print item | cs |
- tuple 이용하기
1. list type 과 유사
2. 읽기 전용 (저장된 데이터 수정, 삭제 불가)
3. list 에 비해 속도가 빠르다
4. 1개만 들어가는 경우 주의 : ex> nums1_1= (10,)
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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) print "tuple2 :", 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 # 방 1개 짜리 tuple 객체 만들때는 주의! nums = [10] nums1 = (10) # int type # 일반 괄호와 구분하기 위해서 우측에 , 를 하나 붙여준다. nums1_1= (10,) # tuple type nums2 = (10,20) print type(nums1) print type(nums1_1) print type(nums2) nums3 = 10, 20, 30 print "nums3 :",nums3 print type(nums3) print "-------------------" print "one","two","three" print ("one", "two", "three") # 3 개의 변수에 동시에 값 대입하기 num1, num2, num3 = 1, 2, 3 print num1, num2, num3 myFriend = ("gura","monkey","dog") # tuple 에 있는 값을 각각의 변수에 대입하기 a, b, c = myFriend print a, b, c first = "boy" second = "girl" print first print second # 두 변수의 내용을 서로 바꾸려면? ''' tmp = first first = second second = tmp ''' second, first = first, second print first print second | cs |
- dict type 이용하기
1. key : value 형태로 데이터를 저장한다.
2. 순서가 없는 데이터이다.
3. key 값을 이용해서 저장된 값을 참조한다.
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 | # 한 명의 회원정보를 dict type 에 담기 dict1= {"num":1, "name":u"김구라", "isMan":True} # dict type 에 저장된 데이터 참조 print dict1["num"] print dict1["name"] print dict1["isMan"] # 수정 dict1["num"]=999 # 대입연산자를 이용해서 특정방의 데이터 수정 # 특정방 삭제 del dict1["isMan"] # 모든방 삭제 dict1.clear() print u"모든 방 삭제 후 dict1:", dict1 dict2={"car":u"자동차", "house":u"집","phone":u"전화가"} # dict type 의 key print dict2.keys() # dict type 의 value 값만 list type으로 얻어온다. print dict2.values() # for 문에 응용 for key in dict2.keys(): tmp = dict2[key] print key, tmp | cs |
- set type 이용하기
1. 순서가 없다
2. 중복을 허용하지 않는다.
3. 집합(묶음) 이라고 생각하면 된다.
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | # set type 데이터 만들기 set1={10,20,30,40,50} print set1 print "len(set1):", len(set1) # set type 에 데이터 추가하기 set1.add(60) set1.add(70) set1.add(70) set1.add(70) set1.add(10) print "set1:", set1 # 새로운 set type 데이터를 만들고 set2={60, 70, 80, 90, 100} # 두 set 간의 합집합 unionResult = set1.union(set2) print "set1 union set2 : ",unionResult # 두 set 간의 교집합 intersectionResult = set1.intersection(set2) print "set1 intersection set2 :", intersectionResult # 두 set 간의 차집합 minusResult = set1 - set2 print "set1 - set2 :", minusResult set3={"kim","lee"} list1 = ["park","cho","lee"] tuple1 = ("one", "two") # set 에 list type 이나 tuple type 에 있는 원소 병합 시키기 set3.update(list1) print "list1 병합후 set3:", set3 set3.update(tuple1) print "tuple1 병합후 set3:", set3 #값 삭제 set3.discard("park") print "set3 에서 park discard 이후:",set3 #삭제할 값이 존재하지 않으면... set3.discard("김구라") # 무시한다. #값 삭제 remove() 이용 #삭제할 값이 존재하지 않으면 ... #set3.remove("해골") # 예외 발생! #값 모두 삭제 set3.clear() print "set3 clear() 이후 : ",set3 # 반복문 돌면서 set1 에 저장된 모든 내용 불러와서 작업 for item in set1: print item # list 에 저장된 데이터에서 중복을 제거 하고 싶다라면 ... list3 = [10,20,30,10,10,30,40,50,50] # set 를 이용한다. set4 = set(list3) print "set4 : ",set4 # 중복 제거후 다시 list type 으로 얻어낸다. list4 = list(set4) print "list4 : ",list4 | cs |
반응형
'Language > Python' 카테고리의 다른 글
[Python] Main / class / 생성자 / return (1) | 2017.08.16 |
---|---|
[Python] 정규표현식(Regulation Express) / input (0) | 2017.08.16 |
[Python] if / for / while / operator (0) | 2017.08.10 |
[Python] str / function 이용하기 (+args/kwargs) (0) | 2017.08.08 |
[Python] Python 기초 01 - 설치 / 데이터타입 (0) | 2017.08.08 |
댓글