저번 챕터에서는 LIST 에 관하여 알아보았다.
LIST와 비슷하지만 다른 아이들! 을 알아보자.
7. Python - LIST : https://godnyaong.tistory.com/7
1. 튜플 (Tuple)
: 리스트와 비슷하지만 수정이 불가함
※ 튜플의 뜻이 궁금해서 사전적인 의미를 찾아봤다.
파이썬이랑은 상관 없지만..
tuple의 사전적인 의미는
multiplier 라고도 불리는 영어 숫자체계.
single / double / triple / quadruple / ...
같은 것들이 여기에 해당한다.
마치 우리나라의 일,이,삼,사 가 아닌
하나, 둘,셋,넷 느낌인가????
롤에서 쿼드라킬~~ 더블킬~~ 하는건 많이 봤는데..
아무튼 이건 쓸데없는 궁금증에 찾아봤움 ㅎ.ㅎ
나처럼 궁금한 사람이 또 있을지도 모르니까 ㅎ
1) 튜플의 생성
튜플명 = tuple () : 비어있는 tuple생성
튜플명 = tuple([data1,data2,data3...])
: data를 넣어서 생성 [ ] list 형태로 넣는다.
튜플명 = ([data1,data2,data3...])
: () 안에 [] list를 넣어서 생성
튜플명 = (data,)
: 원소가 1개인 튜플을 생성
반드시 "," 가 있어야함
튜플명=data,
튜플명=data1,data2,data3...
: 쉼표가 튜플을 뜻하므로 () 생략가능
예시)
#튜플(tuple): 수정이 불가한 리스트
t1= tuple()
t2=tuple([2,3,5])
print(t1,t2)
#초기화된 튜플 생성
t3=([1,2,3,4])
print(type(t3),t3)
#인덱싱,슬라이딩 다 가능,수정 기능은 다 불가 (append,del,sort...)
#원소가 1개인 튜플 생성
#원소가 1개인 튜플을 생성하려면 반드시 쉼표를 사용해야 합니다.
t=(3,)
print(type(t),t,len(t))
# 쉼표가 튜플을 나타내기 때문에 () 를 생략해도 됨
t=3,
print(type(t),t,len(t))
t2=2,4,5
print(type(t2),t2,len(t2))
결과값)
() (2, 3, 5)
<class 'list'> [1, 2, 3, 4]
<class 'tuple'> (3,) 1
<class 'tuple'> (3,) 1
<class 'tuple'> (2, 4, 5) 3
2. 세트 (set)
: 수학의 집합 개념, 순서X, 중복 X, 인덱싱 X
1) 세트의 생성
세트명 = set() : 비어있는 set생성
세트명 = set([data1,data2,data3...])
: data를 넣어서 생성 [ ] list 형태로 넣는다.
세트명 = ([data1,data2,data3...])
: ( ) 안에 [ ] list를 넣어서 생성
세트명 = {data1,data2,data3...}
: { } 를 이용해 생성
세트명 = set("문자열")
: 문자모음 하나씩 추출하여 data 구성
예시)
#셋(set) : 수학의 집합 개념
#중복 x , 추가 순서 유지x , 인덱싱x ,
# 여러데이터를 중복없이 얻을떄 사용
# [] : list
# () : tuple
# {} : dictionary
#생성
a=set()
print(type(a),a)
b=set([3,4,5,6])
print(type(b),b)
c={3,4,5,2}
print(type(c),c)
d={3,4,5,2,5,5,5,5,5}
print(type(d),d)
e="meeeeeeyanong"
f=set(e)
print(f)
결과값)
<class 'set'> set()
<class 'set'> {3, 4, 5, 6}
<class 'set'> {2, 3, 4, 5}
<class 'set'> {2, 3, 4, 5}
{'m', 'g', 'n', 'y', 'e', 'o', 'a'}
2) 세트의 집합 연산
: 집합과 같이 연산이 가능
set1 | set2 : 교집합 (.intersection)
set1 & set2 : 합집합 (.union)
set1 - set2 : 차집합 (.difference)
set1 ^ set2 : 대칭차집합 (.symmetric difference)
(교집합 외 나머지)
예시)
a={3,4,5,6}
b={0,5,6,7,8}
print(a|b)
print(a&b)
print(a-b)
print(a^b)
결과값)
{0, 3, 4, 5, 6, 7, 8}
{5, 6}
{3, 4}
{0, 3, 4, 7, 8}
3. 딕셔너리 (dictionary)
: 검색을 위해 사용되는 자료구조
: key와 value를 같이 호출함
: 추가된 값 순서 유지 x , 중복 허용 x
딕셔너리명 = dict() : 비어있는 딕셔너리 생성
딕셔너리명= dict(key1=value1,key2=value2,...)
: 정의된 딕셔너리 생성
딕셔너리명["key1"] : 해당key1 의 value1을 호출
딕셔너리명.keys() : 딕셔너리 안 key를 확인
딕셔너리명.values() : 딕셔너리 안 value를 확인
딕셔너리명.items() : key , value 를 같이 확인
예시)
a = dict()
b=dict(x=3,y=20,z="nyaong",xy=30)
#왼쪽이 key(string)(문자,숫자는 사용x )
#오른쪽이 value
print(type(b),b)
# 인덱싱(indexing) : 키를 사용
print(b["x"])
print(b["xy"])
#.keys() 딕셔너리 안의 키를 확인
print(b.keys())
#.values() 딕셔너리 안의 값을 확인
print(b.values())
#.items() key와 value를 같이 확인
print(b.items())
# 반복문에 사용
for key in b:
print(key,b[key])
b=dict(x=3,y=20,z="nyaong",xy=30)
#수정
b["y"]=100
print(b)
#추가
b["a"]="GOD"
print(b)
#제거
r=b.pop("x")
print(r,b)
#삭제
del b["xy"]
print(b)
#모두삭제
b.clear()
print(b)
#딕셔너리 자체 삭제
del(b)
결과값)
<class 'dict'> {}
<class 'dict'> {'x': 3, 'y': 20, 'z': 'nyaong', 'xy': 30}
3
30
dict_keys(['x', 'y', 'z', 'xy'])
dict_values([3, 20, 'nyaong', 30])
dict_items([('x', 3), ('y', 20), ('z', 'nyaong'), ('xy', 30)])
x 3
y 20
z nyaong
xy 30
{'x': 3, 'y': 100, 'z': 'nyaong', 'xy': 30}
{'x': 3, 'y': 100, 'z': 'nyaong', 'xy': 30, 'a': 'GOD'}
3 {'y': 100, 'z': 'nyaong', 'xy': 30, 'a': 'GOD'}
{'y': 100, 'z': 'nyaong', 'a': 'GOD'}
{}
'Python' 카테고리의 다른 글
7. Python - 리스트 (0) | 2021.09.17 |
---|---|
6. Python - 제어문 (조건문, 반복문) (0) | 2021.09.17 |
5. Python - 입출력 (0) | 2021.09.16 |
4. Python - 변수 (0) | 2021.09.15 |
3. Python - 연산자 (0) | 2021.09.14 |
댓글