[Python] 5.배열(array) : tuple, dictionary, set
#정리
#14tuple - 투플 배열
#tuple 배열은 ( )로 표시한다.
- tp = (11,) : , 를 붙여야 투플타입이 된다. (11) >> int // (11,) >> tuple
#list를 캐스팅해서 쓰는 것이 가능하다.
- lst = [0 for _ in range(10)] >> print(tuple(lst))
#값을 불러오는 것은 가능하지만, 값 변경은 불가하다.
- print(tp[3:7])
- tp[3:7] = () #값 변경 불가#15dictionary - 딕셔너리 배열
#dict배열은 { } 형태로 표시하며, 키 값을 가진다.
- dic = {} #dict
- dic = {"num":1} #dict
- 키값 없이 데이터값만 주면 set이 된다. #dic = {1} >> set
#tvo["num"] / tvo.get("num") 형태로 데이터값에 접근할 수 있다.
- print(tvo["num"],tvo["name"],tvo["age"])
- print(tvo.get("num"),tvo.get("name"),tvo.get("age"))
#키값을 통해 데이터값 수정 가능하다.
- tvo["num"] = 33
#키-데이터값 을 추가할 수 있다.
- tvo["tp"] = (11,22,33) #새로운 키값 tp 생성후 데이터 입력됨.
#특정 키값이 배열에 있는지 확인할 수 있다. - 데이터값이 아님에 주의
- print("name" in tvo)
#키-데이터 값 동시 혹은 키값 /데이터값만 별도로 볼 수 있다.
- print(tvo.items()) #키-데이터 모두 보기
- print(tvo.keys()) #키
- print(tvo.values()) #데이터
#키값을 통해 데이터 값을 추출할 수 있다.
- for key in tvo: >> print(tvo[key])
#clear()를 이용해 배열 키/데이터를 지울 수 있다.
- tvo.clear()
#dict()를 이용하여 데이터 값을 키값에 변수 초기화 하듯 넣을 수도 있다.
- tvo = dict(num=1,name="kim",age=33) #dict
#list 형태로 dict를 생성할 수 있다.
- tvo = dict([('num'+str(i), i) for i in range(10)]) #num은 문자열이라 str(i)로 캐스팅 필요
#zip()을 사용하여 별도로 있는 키/데이터를 엮어서 넣어줄 수 있다.
- keys = ["num","name","age"] // values = [1,"kim",33]
- tvo = dict(list(zip(keys,values)))
#16set - set 배열#set 은 { }로 표시되며, 키값과 인덱스가 없고, 데이터의 중복을 허용하지 않는다(유니크-unique).
- s = {1,1,2,2,3,3,3,3}- 중복 값은 자동으로 제거됨.
#다른 배열에서 캐스팅 시 중복 값 자동 제거
- tp = (1,2,3,1,2,3) >> {1,2,3}
- lst = [1,2,3,1,2,3] >> {1,2,3}
#add()로 값 추가 가능
- s.add(11)
- 중복 입력 안됨
#remove()로 값 제거 가능
- s.remove(22)
#합집합 - union
- s = s | {1,2,3,44}
- print(s1.union(s2))
#교집합 - intersection
- s = s & {1,2,3}- print(s1.intersection(s2))
#차집합 - difference
- s = s - {3}
- print(s1.difference(s2))
#14tuple - 투플 배열
#tuple 배열은 ( )로 표시한다.
- tp = (11,) : , 를 붙여야 투플타입이 된다. (11) >> int // (11,) >> tuple
#list를 캐스팅해서 쓰는 것이 가능하다.
- lst = [0 for _ in range(10)] >> print(tuple(lst))
#값을 불러오는 것은 가능하지만, 값 변경은 불가하다.
- print(tp[3:7])
- tp[3:7] = () #값 변경 불가
--예문 코드 보기--
print("---------------")
tp = ()
tp = (11,) #,를 붙여야 투플타입이 된다. (11) >> int // (11,) >> tuple
print(type(tp))
tp = (11,22,33)
#tp = (0 for i in range(10)) #generator object type으로 바뀐다.
#tp = range(10) #range type으로 바뀐다.
print(tp)
print("---------------")
#list를 캐스팅해서 쓰는 것이 가능하다.
lst = [0 for _ in range(10)]
lst = [i for i in range(10)]
print(tuple(lst))
print("---------------")
tp = tuple(lst)
print(tp[3])
print(tp[3:7])
#tp[3:7] = () #값 변경 불가
#del tp[3]
#15dictionary - 딕셔너리 배열
#dict배열은 { } 형태로 표시하며, 키 값을 가진다.
- dic = {} #dict
- dic = {"num":1} #dict
- 키값 없이 데이터값만 주면 set이 된다. #dic = {1} >> set
#tvo["num"] / tvo.get("num") 형태로 데이터값에 접근할 수 있다.
- print(tvo["num"],tvo["name"],tvo["age"])
- print(tvo.get("num"),tvo.get("name"),tvo.get("age"))
#키값을 통해 데이터값 수정 가능하다.
- tvo["num"] = 33
#키-데이터값 을 추가할 수 있다.
- tvo["tp"] = (11,22,33) #새로운 키값 tp 생성후 데이터 입력됨.
#특정 키값이 배열에 있는지 확인할 수 있다. - 데이터값이 아님에 주의
- print("name" in tvo)
#키-데이터 값 동시 혹은 키값 /데이터값만 별도로 볼 수 있다.
- print(tvo.items()) #키-데이터 모두 보기
- print(tvo.keys()) #키
- print(tvo.values()) #데이터
#키값을 통해 데이터 값을 추출할 수 있다.
- for key in tvo: >> print(tvo[key])
#clear()를 이용해 배열 키/데이터를 지울 수 있다.
- tvo.clear()
#dict()를 이용하여 데이터 값을 키값에 변수 초기화 하듯 넣을 수도 있다.
- tvo = dict(num=1,name="kim",age=33) #dict
#list 형태로 dict를 생성할 수 있다.
- tvo = dict([('num'+str(i), i) for i in range(10)]) #num은 문자열이라 str(i)로 캐스팅 필요
#zip()을 사용하여 별도로 있는 키/데이터를 엮어서 넣어줄 수 있다.
- keys = ["num","name","age"] // values = [1,"kim",33]
- tvo = dict(list(zip(keys,values)))
--예문 코드 보기--
print("Hello python")
print("---------------")
dic = {1} #set : 키값 없이 데이터값만 주면 set이 된다.
print(type(dic))
dic = {} #dict
print(type(dic))
dic = {"num":1} #dict
print(type(dic))
print("---------------")
tvo = {"num":1,"name":"kim","age":33} #dict - 문자열은 ' '로 표시된다.
print(tvo)
print(tvo["num"],tvo["name"],tvo["age"])
print(tvo.get("num"),tvo.get("name"),tvo.get("age"))
print("---------------")
tvo = {0:1,1:"kim",2:33} #dict
print(tvo)
print(tvo.get(0),tvo.get(1),tvo.get(2))
print("---------------")
tvo = {"num":1,"name":"kim","age":33} #dict
print(tvo)
#키값을 통해 데이터값 수정 가능하다.
tvo["num"] = 33
tvo["name"] = "lee"
tvo["age"] = 55
#키-데이터값 을 추가할 수 있다.
tvo["tp"] = (11,22,33)
tvo["lst"] = [11,22,33]
print(tvo)
print("---------------")
print("kim" in "kim lee han")
#특정 키값이 배열에 있는지 확인할 수 있다. - 데이터값이 아님에 주의
print("name" in tvo)
print("age" in tvo)
print("------key & value---------")
#키-데이터 값 동시 혹은 키값 /데이터값만 별도로 볼 수 있다.
print(tvo.items()) #키-데이터
print(tvo.keys()) #키
print(tvo.values()) #데이터
print("---------------")
#키값을 통해 데이터 값을 추출할 수 있다.
for key in tvo:
print(tvo[key])
print("---------------")
#clear()를 이용해 배열 키/데이터를 지울 수 있다.
tvo.clear()
print(tvo)
print("---------------")
#dict()를 이용하여 데이터 값을 키값에 변수 초기화 하듯 넣을 수도 있다.
tvo = dict(num=1,name="kim",age=33) #dict
print(tvo)
print("---------------")
#list 형태로 dict를 생성할 수 있다.
#num은 문자열이라 str(i)로 캐스팅 필요
tvo = dict([('num'+str(i), i) for i in range(10)])
print(tvo)
print("---------------")
#zip()을 사용하여 별도로 있는 키/데이터를 엮어서 넣어줄 수 있다.
keys = ["num","name","age"]
values = [1,"kim",33]
tvo = dict(list(zip(keys,values)))
print(tvo)
#16set - set 배열
#set 은 { }로 표시되며, 키값과 인덱스가 없고, 데이터의 중복을 허용하지 않는다(유니크-unique).
- s = {1,1,2,2,3,3,3,3}
- 중복 값은 자동으로 제거됨.
#다른 배열에서 캐스팅 시 중복 값 자동 제거
- tp = (1,2,3,1,2,3) >> {1,2,3}
- lst = [1,2,3,1,2,3] >> {1,2,3}
#add()로 값 추가 가능
- s.add(11)
- 중복 입력 안됨
#remove()로 값 제거 가능
- s.remove(22)
#합집합 - union
- s = s | {1,2,3,44}
- print(s1.union(s2))
#교집합 - intersection
- s = s & {1,2,3}
- print(s1.intersection(s2))
#차집합 - difference
- s = s - {3}
- print(s1.difference(s2))
--예문 코드 보기--
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("---------------")
#set : 중복 허용 없음(유니크), 인덱스 없음
s = {1}
print(s)
print(type(s))
s = {1,1,2,2,3,3,3,3}
print(s)
print("---------------")
#중복 값은 자동으로 제거됨.
#add()로 값 추가 가능
s.add(11)
s.add(11)#중복 입력 안됨
s.add(22)
print(s)
#캐스팅 시 중복 값 자동 제거
tp = (1,2,3,1,2,3)
print(set(tp))
lst = [1,2,3,1,2,3]
print(set(lst))
print("---------------")
#remove()로 값 제거 가능
s.remove(22)
print(s)
print("---------------")
s = s | {1,2,3,44} #합집합 - union
print(s)
s = s & {1,2,3} #교집합 - intersection
print(s)
s = s - {3} #차집합 - difference
print(s)
print("---------------")
s1 = {11,22,33}
s2 = {22,33,44}
print("---------------")
print(s1.union(s2))
print(s1.intersection(s2))
print(s1.difference(s2))