-
Python- basic 쟈료형타입 4가지Python 2021. 2. 9. 02:37728x90
del dic['겨울'] print(dic)
print('< 집합형 자료형 4가지 >') print((1), type((1))) # int 집합형 자료형 x print() print((1,), type((1,))) # tuple print([1], type([1])) # list print({1}, type({1})) #set print({'k':1}, type({'k':1})) #dict json 처리하기에 좋다.
1. tuple 타입
list 타입과 유사하다. 순서있음, 번경x, 읽기전용 - 속도 빠름
list와 유사하지만 2가지의 다른 점이 있다.
1. t2 = (1,)처럼 1개의 요소만을 가질때는 요소 뒤에 콤마( , )를 반드시 붙여야 한다
2. t4 = 1,2,3,처럼 괄호 생략가능하다.
print('< 튜플의 형태 >') t1 = () t2 = (1,) t3 = (1, 2, 3) t4 = 1, 2, 3 t5 = ('a', 'b', ('ab', 'cd'))
t = 'a','b','c','d' print(t, type(t), len(t), t.count('a')) print(t[1], t[2:5])
[출력 결과]
('a', 'b', 'c', 'd') <class 'tuple'> 4 1
b ('c', 'd')--------------------------
[출력결과 설명]
t >> ('a', 'b', 'c', 'd') - 데이터 출력
type(t) >> <class 'tuple'> - 타입 출력
len(t) >> 4 - 데이터 길이 출력
t.count('a') >> 1 - typle type을 갖는 변수 t에서 문자 a 의 갯수
t[1] >> b - index 1에 있는 데이터 출력
t[2:5] >> ('c', 'd') - index 2~5까지의 데이터 출력
2. list 타입
순서있음, 여러종류의 값을 기억할 수 있고, 변경도 가능하다.
print('<list의 형태>') a = [] b = [1, 2, 3] c = ['list', 'is', 'too', 'short'] d = [1, 2, 'life', 'is'] #len 4개 e = [1, 2, ['life', 'is']] #len 3개
family = ['엄마', '아빠', '나', 123, 12.345] print(family, type(family)) family.append(['삼촌', '고모']) #list안에 list넣기 family.append('이모') family.insert(0, '할머니') family += ['아저씨'] print(family, len(family), family.index('아빠')) print(family[0], family[1:4]) print(family[6], family[6][1]) family[0] = '할아버지' print(family)
family = ['엄마', '아빠', '나', 123, 12.345]
print(family, type(family))
[출력 결과]
['엄마', '아빠', '나', 123, 12.345] <class 'list'>
family.append(['삼촌','고모']) # append : 리스트 안에 리스트 넣기
family.append('이모')
family.insert(0, '할머니') # insert : index 0에 '할머니' 넣기(삽입)
family += ['아저씨'] # family = family + 아저씨
print(family, len(family), family.index('아빠'))
[출력결과]
['할머니', '엄마', '아빠', '나', 123, 12.345, ['삼촌', '고모'], '이모', '아저씨'] 9 2
[출력결과 설명]
len(family)는 길이, family.index('아빠')는 아빠가 있는 인덱스 번호 찾기
print(family[0], family[1:4])
print(family[6], family[6][1]) # family[6][1] : family의 인덱스 6 안에서 인덱스1인것
family[0] = '할아버지' #index 0을 '할아버지'로 바꾼다.(수정)
print(family)[출력결과]
할머니 ['엄마', '아빠', '나']
['삼촌', '고모'] 고모
['할아버지', '엄마', '아빠', '나', 123, 12.345, ['삼촌', '고모'], '이모', '아저씨']3. set 타입
집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.
print('< set 타입 형태 >') s1 = set([1, 2, 3]) s2 = set("Hello") s1 s2
[출력 결과]
{1, 2, 3} >> s1의 결과
{'e', 'H', 'l', 'o'} >> s2의 결과
s2를 보면 순서도 섞여있고, 'ㅣ' 하나가 빠졌다. 이 이유는 set의 2가지 특징 때문이다.
1. 중복을 허용하지 않는다.
2. 순서가 없다.
a = {1, 2, 3, 1} b = {3, 4} print(a.union(b), a.intersection(b)) print(a | b, a - b, a & b) #합집합, 차집합, 교집합
[출력결과]
{1, 2, 3, 4} {3}
{1, 2, 3, 4} {1, 2} {3}[출력 결과 설명]
a.union(b) , aㅣb : 합집합이다.
a.intersection(b) , a & b : 교집합이다.
a - b : 차집합
b = {3, 4} b.update({6, 7}) b.update([8, 9]) b.update((10, 11)) print(b)
[출력결과]
{3, 4, 6, 7, 8, 9, 10, 11}
b = {3, 4, 6, 7, 8, 9, 10, 11} b.discard(4) print(b) b.remove(7) print(b) b.clear() print(b)
[출력결과]
{3, 6, 7, 8, 9, 10, 11}
{3, 6, 8, 9, 10, 11}
set()[출력 결과 설명]
discard(4) - 전달받은 값(4)을 삭제한다(없으면 무시한다)
remove(7) - 전달받은 값(7)을 삭제한다(없으면 에러메시지 출력)
b.clear() - b집합에 있는 모든 값을 삭제한다.
4. dict 타입
딕셔널리 자료형으로 연관배열(Associative array) 또는 해시(Hash)라고 한다.
key와 value를 한 쌍으로 갖느 자료형이다.
key가 baseball이면 value는 야구가 될 것이다.
print('< dict타입 형태 >') dic = {'name':'mujigea', 'phone':'01011112222','birth':'0221'} a = {1 : 'hi'} b = {'a' : [1, 2, 3]}
dic = {'파이썬':'뱀', '자바':'커피 ', '스프링':'봄'} print(dic, type(dic)) print(dic['자바']) # 키로 값을 참조 #print(dic[커피']) # 값으로 키를 참조 x
[출력결과]
{'파이썬': '뱀', '자바': '커피 ', '스프링': '봄'} <class 'dict'>
커피dic['겨울'] = '눈' print(dic)
[출력결과] - 추가하기
{'파이썬': '뱀', '자바': '커피 ', '스프링': '봄', '겨울': '눈'}
del dic['겨울'] print(dic)
[출력결과] - 삭제하기
{'파이썬': '뱀', '자바': '커피 ', '스프링': '봄'}
dic.clear() print(dic)
[출력결과] - 모든 값 삭제
{}
dic = {'파이썬':'뱀', '자바':'커피 ', '스프링':'봄'} print(dic.keys()) print(dic.values()) print(dic['자바']) print(dic.get('자바'))
[출력결과]
dict_keys(['파이썬', '자바', '스프링'])
dict_values(['뱀', '커피 ', '봄'])
커피
커피번외. 형변환 변화 보기
t = 'a','b','c','d' #tuple test = list(t) #형변호나 후 값 변경 가능 print(test, type(test)) test[1] = 'kbs' t = tuple(test) #list print(t, type(t)) #tuple t1 = (10,) t1 = (10, 20) a, b = t1 print(t1) print(a, b) print() b, a = a, b print(b, a) t2 = a, b print(t2) print() li = [1,2,2,3,4,5,5,5,2,2,2] print(li); im = set(li) li = list(im) print(li)
[출력결과]
['a', 'b', 'c', 'd'] <class 'list'>
('a', 'kbs', 'c', 'd') <class 'tuple'>
(10, 20)
10 20
10 20
(20, 10)
[1, 2, 2, 3, 4, 5, 5, 5, 2, 2, 2]
[1, 2, 3, 4, 5]['a', 'b', 'c', 'd'] <class 'list'>
('a', 'kbs', 'c', 'd') <class 'tuple'>
(10, 20)
10 20
10 20
(20, 10)
[1, 2, 2, 3, 4, 5, 5, 5, 2, 2, 2]
[1, 2, 3, 4, 5][출력결과 설명]
형변환 되면서 데이터가 변화는걸 확인하기
'Python' 카테고리의 다른 글
Python - basic for문에 format 사용 (0) 2021.02.09 Python - basic For문 활용 (0) 2021.02.09 Python - basic while문 (0) 2021.02.09 Python - basic if문 조건 반복문 (0) 2021.02.09 Python - basic type isinstance (0) 2021.02.09