[파이썬]04. 리스트, 튜플, 세트, 딕셔너리
[파이썬]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)