07장. 리스트, 튜플, 딕셔너리
- 리스트
- [값1, 값2, …] 형식
- 조작 함수
- aa.append(값) : 맨 뒤에 값을 추가
- aa.insert(2, 값) : index=2인 위치에 값을 삽입
- aa.extend([값, 값, 값..]) : 리스트를 뒤에 추가
- aa.pop() : 맨 뒤 항목을 제거/리턴,
- aa.sort() : 정렬
- aa.reverse() : 역순으로
- aa.index(값) : 값의 index
- aa.remove(값) : 값을 제거(여러개 일 경우엔 첫번째 것만 제거)
- del(aa[3]) : 3번째 값을 제거
- aa.count(값) : 값의 개수
- len(aa) : 항목의 개수
- aa[0] : 첫번째 항목
- aa[1] : 두번째 항목
- 리스트 사용 예
12345678910111213141516aa = []aa.append(11)aa.append(12)print(aa) # [11, 12]bb = [1, 2, 3, 4]print(bb) # [1, 2, 3, 4]print(bb[1:3]) # [2, 3]print(bb[-2:]) # [3, 4]print(aa + bb) # [11, 12, 1, 2, 3, 4]print(aa * 3) # [11, 12, 11, 12, 11, 12]bb[1:3] = [22, 33, 44]print(bb) # [1, 22, 33, 44, 4]del(bb[2])print(bb) # [1, 22, 44, 4]bb[1:3] = []print(bb) # [1, 4]
- 튜플
- (값1, 값2, …) 형식
- 상수이기 때문에 수정, 추가, 항목 삭제 불가, 튜플 전체 삭제는 가능
- aa = 10 : aa는 변수
- aa = (10) : aa는 튜플
- aa = 10, : aa는 튜플, 괄호 생략 가능
- aa = (10,) : aa는 튜플
- 조작함수 : 리스트 함수 중 일부만 사용 가능
- 튜플 사용 예
1234567aa = (11, 12)bb = (1, 2, 3, 4)print(bb) # (1, 2, 3, 4)print(bb[1:3]) # (2, 3)print(bb[-2:]) # (3, 4)print(aa + bb) # (11, 12, 1, 2, 3, 4)print(aa * 3) # (11, 12, 11, 12, 11, 12)
- 딕셔너리
- {키1: 값1, 키2: 값2, …} 형식
- 예 : student = {‘학번’: 201912345, ‘이름’: ‘홍길동’, ‘나이’: 20}
- 조작 함수
- del(student[‘이름’]) : 이름 항목 삭제
- print(student[‘이름’]) : 홍길동 출력
- print(student.get(‘이름’)) : 홍길동 출력
- student.keys() : dict_keys([키1, 키2, …]) 모든 키를 리스트 형식으로 반환
- student.values() : dict_values([값1, 값2, …]) 모든 값을 리스트 형식으로 반환
- student.items() : dict_items[(키1, 값1), (키2, 값2), ..] 튜플 형식으로 반환
- list(student.keys()) : [키1, 키2, …], 모든 키를 list로 반환
- list(student.values()) : [값1, 값2, …], 모든 값을 list로 반환
- list(student.items()) : [(키1, 값1), (키2, 값2), ..], (키,값) 쌍의 list로 반환
- key in student, key not in student : key의 존재 여부
- 딕셔너리 사용 예
12345678910111213141516171819202122232425262728293031323334353637383940dic1 = {1: 'a', 2: 'b', 3: 'c'}dic2 = {'a': 1, 'b': 2, 'c': 3}dic3 = {'1': 'a', '2': 'b', '3': 'c'}print(dic1) # {1: 'a', 2: 'b', 3: 'c'}print(dic2) # {'a': 1, 'b': 2, 'c': 3}print(dic3) # {'1': 'a', '2': 'b', '3': 'c'}dic1[1] = '전주' # 1이 존재하기 때문에 수정dic2['a'] = '전주' # 'a'이 존재하기 때문에 수정dic3['1'] = '전주' # '1'이 존재하기 때문에 수정print(dic1) # {1: '전주', 2: 'b', 3: 'c'}print(dic2) # {'a': '전주', 'b': 2, 'c': 3}print(dic3) # {'1': '전주', '2': 'b', '3': 'c'}dic1[7] = '대학교' # 4가 없기때문에 추가dic2['f'] = '대학교' # 4가 없기때문에 추가dic3['9'] = '대학교' # 4가 없기때문에 추가print(dic1) # {1: '전주', 2: 'b', 3: 'c', 7: '대학교'}print(dic2) # {'a': '전주', 'b': 2, 'c': 3, 'f': '대학교'}print(dic3) # {'1': '전주', '2': 'b', '3': 'c', '9': '대학교'}print(dic1[1], dic1.get(1)) # 전주 전주print(dic3['9'], dic3.get('9')) # 대학교 대학교print(dic1.keys()) # dict_keys([1, 2, 3, 7])print(dic3.keys()) # dict_keys(['1', '2', '3', '9'])print(dic1.values()) # dict_values(['전주', 'b', 'c', '대학교'])print(dic3.values()) # dict_values(['전주', 'b', 'c', '대학교'])print(dic1.items()) # dict_items([(1, '전주'), (2, 'b'), (3, 'c'), (7, '대학교')])print(dic3.items()) # dict_items([('1', '전주'), ('2', 'b'), ('3', 'c'), ('9', '대학교')])print(list(dic3.keys())) # ['1', '2', '3', '9']print(list(dic3.values())) # ['전주', 'b', 'c', '대학교']print(list(dic3.items())) # [('1', '전주'), ('2', 'b'), ('3', 'c'), ('9', '대학교')]print('7' in dic3) # Falseprint('9' in dic3) # True