-
[파이썬]04. 리스트, 튜플, 세트, 딕셔너리Fundamental Node 2022. 3. 28. 15:29
[파이썬]04. 리스트, 튜플, 세트, 딕셔너리
1. 리스트
(1) 리스트 인덱싱
(2) 중첩 리스트 인덱싱
(3) 리스트 슬라이싱
(4) 중첩 리스트 슬라이싱
(5) 리스트 연산자/함수
(6) 리스트 수정
(7) 리스트 메소드
2. 튜플
(1) 튜플 인덱싱
(2) 중첩 튜플 인덱싱
(3) 튜플 슬라이싱
(4) 중첩 튜플 슬라이싱
(5) 튜플 연산자/함수
3. 세트
(1) 세트 연산자
(2) 세트 메소드
4. 딕셔너리
(1) 딕셔너리 요소 추가/삭제
(2) 딕셔너리 메소드
=========================
[파이썬]04. 리스트, 튜플, 세트, 딕셔너리
1. 리스트
(1) 리스트
- 변경 가능한 시퀀스 자료형
- 하나의 변수에 여러 값 할당 가능
- 같은 자료형이 아니라 다른 자료형을 가지는 값들을 포함 가능
- 일반적으로 비슷한 항목들의 모음을 순서대로 저장하는 데 사용
print([]) print([1,2,3]) print(['One', 'Two', 'Three']) print([1, 'One', 2, 'Two', 3, 'Three']) print([1,2,3,['One', 'Two', 'Three']])
(2) 리스트 인덱싱
- 리스트의 각 위치에 해당하는 값에 접근하기 위해서 주소 개념의 숫자를 사용
list = ['One', 'Two', 'Three'] print(list) print(list[0]) print(list[1]) print(list[2]) print(list[-1]) print(list[-2]) print(list[-3])
(3) 중첩 리스트 인덱싱
- 리스트 안에 리스트가 있을 경우 인덱스 접근 방법
list = [1,2,3,['One', 'Two', 'Three']] print(list) print(list[0]) print(list[1]) print(list[3]) print(list[3][0]) print(list[3][1]) print(list[3][2]) print(list[-1][0])
(4) 리스트 슬라이싱
- 리스트의 인덱스를 통해서 일부만 가져올 때 사용
list = ['One', 'Two', 'Three'] print(list) print(list[0:]) print(list[1:2]) print(list[1:])
(5) 중첩 리스트 슬라이싱
- 중첩된 리스트에서 일부분만 인덱스를 통해서 가져올 때 사용
list = [1,2,3,['One', 'Two', 'Three']] print(list) print(list[2:]) print(list[3][2:]) print(list[3][1:2])
(6) 리스트 연산자/함수
- 더하기 + 연산자
- 곱하기 * 연산자
- 리스트 길이를 구하는 len()함수
list_1 = ['One', 'Two', 'Three'] list_2 = ['Four', 'Five', 'Six'] print(list_1,'\n', list_2) print(list_1 + list_2) print(list_1 * 3) print(len(list_1)) print(len(list_1 * 3))
(7) 리스트 수정
- 리스트 인덱스 주소를 이용한 값 수정
list = ['One', 'Two', 'Three'] print(list) list[2] = 3 print(list) list[1] = 2 print(list) list[0] = 1 print(list)
(8) 리스트 메소드
ⓐ append() : 리스트 요소 추가
list = ['One', 'Two', 'Three'] print(list) list.append('Four') print(list) list.append([1,2,3]) print(list)
ⓑ sort() : 리스트 정렬
list = [10, 40, 20, 30] print(list) list.sort() print(list) list = ['orange', 'apple', 'banana', 'strawberry'] print('\n',list) list.sort() print(list)
ⓒ reverse()
list = ['orange', 'apple', 'banana', 'strawberry'] print(list) list.reverse() print(list)
ⓓ index()
list = [10, 40, 20, 30] print(list) print(list.index(10)) print(list.index(20))
ⓔ insert() : 리스트 요소 삽입
list = [10, 40, 20, 30] print(list) list.insert(4, 50) print(list) list.insert(0, 60) print(list)
ⓕ remove() : 리스트 요소 제거. 입력인자(값)
list = [10, 40, 20, 30] print(list) list.remove(40) print(list) list.remove(30) print(list)
ⓖ del : 리스트 요소 제거. 리스트 요소 인덱스
list = [10, 40, 20, 30] print(list) del list[0] print(list) del list[2] print(list)
ⓗ pop() : 리스트 요소를 방출
list = [10, 40, 20, 30] print(list) list.pop() print(list) list.pop(0) print(list)
ⓘ count() : 리스트 요소의 갯수 계산
list = [10, 20, 20, 30, 30, 30] print(list) print(list.count(30)) print(list.count(20))
ⓙ extend() : 리스트 확장
list = [10, 40, 20, 30] print(list) list.extend([50, 60]) print(list)
2. 튜플
(1) 튜플
- 리스트와 유사하지만 변경 불가능한 시퀀스 자료형
- 하나의 변수에 여러 값 할당 가능
- 소괄호()를 사용하여 표현
print(()) print((1,2,3)) print(('One', 'Two', 'Three')) print((1, 'One',2 , 'Two',3 , 'Three')) print((1,2,3, ('One', 'Two', 'Three')))
(2) 튜플 인덱싱
- 튜플의 각 위치에 해당하는 값에 접근하기 위해서 주소 개념의 숫자를 사용
tuple = ('One', 'Two', 'Three') print(tuple) print(tuple[0]) print(tuple[-1])
(3) 중첩 튜플 인덱싱
- 튜플 안에 튜플이 중첩되어 있을 경우, 인덱스 접근 방법
tuple = (1,2,3, ('One', 'Two', 'Three')) print(tuple) print(tuple[3]) print(tuple[3][0]) print(tuple[3][-1])
(4) 튜플 슬라이싱
- 튜플의 인덱스를 통해서 일부분만 가져올 때 사용
tuple = ('One', 'Two', 'Three') print(tuple) print(tuple[0:]) print(tuple[1:2]) print(tuple[1:]) print(tuple[-2:])
(5) 중첩 튜플 슬라이싱
- 중첩된 튜플에서 일부분만 인덱스를 통해서 가져올 때 사용
tuple = (1,2,3, ('One', 'Two', 'Three')) print(tuple[3]) print(tuple[3][2:]) print(tuple[3][:2])
(6) 튜플 연산자/함수
- 더하기 + 연산자
- 곱하기 * 연산자
- 튜플 길이를 구하는 len()함수
tuple_1 = ('One', 'Two', 'Three') tuple_2 = ('Four', 'Five', 'Six') print(tuple_1,'\n', tuple_2) print(tuple_1 + tuple_2) print(tuple_1 * 3) print(len(tuple_1)) print(len(tuple_1 * 3))
3. 세트
(1) 세트
- 데이터 중복을 허용하지 않는 구조
- 순서가 없는 데이터 집합을 위한 구조
- 인덱싱으로 값을 접근할 수 없음
print({}) print({'One', 'Two', 'Three'}) print({10, 20, 30, 40})
(2) 세트 연산자
- 교집합(&), 합집합(|), 차집합(-), 여집합(^)
set_1 = {10, 20, 20, 30} set_2 = {30, 30, 40, 50} print(set_1) print(set_2) print(set_1 & set_2) print(set_1 | set_2) print(set_1 - set_2) print(set_1 ^ set_2)
- 요소 추가 : add()
- 여러 요소 추가 : update()
- 요소 제거 : remove()
- 요소 제거 : discard()
- 모든 요소 제거 : clear()
(3) 세트 메소드
set = {10, 20, 30, 40} print(set) set.add(50) print(set) set.update([60, 70]) print(set) set.remove(70) set.remove(60) print(set) set.discard(30) print(set) set.clear() print(set)
4. 딕셔너리
(1) 딕셔너리
- 키key와 값value의 쌍pair으로 구성된 데이터
- 순서가 없는 데이터
- 키key를 통해 값value을 얻음
- 동일한 키key가 있을 경우 덮어씀
dic = {1:'One', 2:'Two', 3:'Three'} print(dic) dic = {1:'One', 2:'Two', 3:'Three', 1:'1', 2:'2', 3:'3'} print(dic)
(2) 딕셔너리 요소 추가/삭제
- 딕셔너리의 해당 키key에 값value을 추가하여 요소 추가
- del을 이용하여 요소 제거
dic = {1:'One', 2:'Two', 3:'Three'} print(dic) print(dic[2]) dic[4] = 'Four' print(dic) dic[5] = 'Five' print(dic) del dic[4] print(dic)
(3) 딕셔너리 메소드
메소드 설명 keys() 딕셔너리의 키들를 모두 가져오기 values() 딕셔너리의 값들을 모두 가져오기 items() 딕셔너리의 키와 값들을 모두 가져오기 get() 딕셔너리에서 키에 해당하는 값 가져오기 pop() 딕셔너리에서 키에 해당하는 값 추출하기 clear() 딕셔너리의 모든 요소를 제거 dic = {1:'One', 2:'Two', 3:'Three'} print(dic) print(dic.keys()) print(dic.values()) print(dic.items()) print(dic.get(2)) print(dic) print(dic.pop(3)) print(dic) dic.clear() print(dic)
'Fundamental Node' 카테고리의 다른 글
[딥러닝] 인공신경망 (0) 2022.03.29 [파이썬]05. 제어문 (0) 2022.03.28 [딥러닝구조 및 학습]모델 (0) 2022.03.26 [딥러닝]딥러닝 구조 및 학습-레이어 (0) 2022.03.25 [딥러닝]드롭아웃(Dropout) (0) 2022.03.24