tuple
속도가 빠르지만 삭제, 수정이 되지 않는다
프로그램이 실행되는 동안 그 값이 항상 유지되기를 원한다면 튜플을 사용해야 한다.
순서가 있다.
리스트와 마찬가지로 인덱싱, 슬라이싱, 더하기, 곱하기, 길이 구하기 모두 가능하다.
튜플의 기본 형태
# tuple - list와 유사하나 읽기 전용 (list 보다 속도가 빠르다). 순서 0, 수정x
t = ('a','b','c','a')
# t = 'a','b','c','a' - 가능은 하지만 권장하지 않는다
print(t, type(t), len(t), t.count('a'), t.index('b'))
print(t[0])
('a', 'b', 'c', 'a') <class 'tuple'> 4 2 1
a
tuple은 삭제, 수정이 불가능하다. 불가피하게 수정할 경우에는 list로 형태변환해서 수정해야 한다
t = ('a','b','c','a')
listT =list(t)
print(listT, type(listT))
listT[0] ='k'
tupleT = tuple(listT)
print(tupleT)
['a', 'b', 'c', 'a'] <class 'list'>
('k', 'b', 'c', 'a')
요소가 단수일 경우 ,를 사용해야 한다.
print((1), type((1)))
print((1,), type((1,)))
1 <class 'int'>
(1,) <class 'tuple'>
tuple의 값을 활용하여 새로운 tuple을 만드는 과정이다.
t1 = (10, 20)
a, b = t1
b, a = a, b
t2 = a, b
print(t2)
(20, 10)
set
순서가 없고 중복이 안된다.
a = {1,2,3,1}
print(a, type(1), len(a))
{1, 2, 3} <class 'int'> 3
합집합, 교집합, 차집합을 구하는데 용이하다
합집합
a = {1,2,3,1}
b = {3, 4}
print(a | b) #합집합
print(a.union(b)) # 합집합
{1, 2, 3, 4}
교집합
a = {1,2,3,1}
b = {3, 4}
print(a & b) #교집합
print(a.intersection(b)) #교집합
{3}
차집합
a = {1,2,3,1}
b = {3, 4}
print(a - b) #차집합
print(a.difference(b))
{1, 2}
set 관련 함수
add()1개의 값을 추가하는 함수이다update()여러개의 값을 추가 할때 사용한다discard()특정 값을 삭제한다. 해당 값이 있으면 지우고 없다면 skip한다remove()특정 값을 삭제한다. 해당 값이 있으면 지우고 없다면 에러 처리된다.
clear()
전체 삭제한다
dict
key value 형식이다
# 사전형 : {'key':'value'} - 순서X, key를 이용해 value를 참조
my = dict(k1=1, k2='mbc', k3=3.4)
print(my, type(my))
{'k1': 1, 'k2': 'mbc', 'k3': 3.4} <class 'dict'>
len()으로 길이를 확인할 수 있다 key 값으로 value값을 찾을 수 있다
dic = {'파이썬':'쌤','자바':'커피','스프링':'용수철', '점수':[60,70,90]}
print(len(dic))
print(dic['자바'])
4
커피
추가, 삭제, 수정이 가능하다
#추가하기
dic['오라클'] = '예언자'
print(dic)
#부분 삭제하기
del dic['오라클']
dic.pop('파이썬')
print(dic)
#부분 수정하기
dic['자바'] ='웹용언어'
print(dic)
{'파이썬': '쌤', '자바': '커피', '스프링': '용수철', '점수': [60, 70, 90], '오라클': '예언자'}
{'자바': '커피', '스프링': '용수철', '점수': [60, 70, 90]}
{'자바': '웹용언어', '스프링': '용수철', '점수': [60, 70, 90]}
key 혹은 values 값만 얻을 수 있다
#key 혹은 values 값만 얻어내기
print(dic.keys())
print(dic.values())
#데이터 값 유무 확인하여 bool로 리턴하기
print('파이썬' in dic)
dict_keys(['자바', '스프링', '점수'])
dict_values(['웹용언어', '용수철', [60, 70, 90]])
False
'python' 카테고리의 다른 글
조건 판단문 if (0) | 2022.10.04 |
---|---|
python 정규표현식 (1) | 2022.10.04 |
문자열 자료형, 리스트 자료형, deepcopy, stack queue (0) | 2022.10.04 |
출력서식 (0) | 2022.10.04 |
연산자 (0) | 2022.09.30 |