방명록
- [PYTHON] 파이썬 - Collection (컬렉션)2024년 01월 25일 22시 49분 51초에 업로드 된 글입니다.작성자: 코딩백구반응형
오늘은 파이썬에서 자주 사용하는 네가지 컬렉션에 대해 알아보도록 하겠습니다.
파이썬에는 기본적으로 List, Tuple, Set, Dictionary 가 있습니다.
List
- 파이썬에서는 배열을 리스트로 선언하며, 서로 다른 자료형을 넣을 수 있다.
- 리스트도 인덱싱 및 슬라이싱이 가능.
선언 방법
a = [] # 빈 리스트 b = [1, 2, 3] # 정수로만 이루어진 리스트 c = ['a', 'b', 'c', 'd'] # 문자열로 이루어진 리스트 d = [1, 2, 'a', 'b', True] # 여러 자료형으로 이루어진 리스트 e = [1, 2, ['a', 'b']] # 이중 리스트 f = [1, 2, ['a','b',['안녕','하세요']]] # 3중 리스트
기본 연산자 (+ , *)
# 리스트 연산자 list_a = [1, 2, 3] list_b = [4, 5, 6] print('list_a + list_b :', list_a + list_b) # 하나의 리스트로 합쳐진다. print('list_a * 3 :', list_a * 3) # 3번 반복 출력된다. # 실행 결과 list_a + list_b : [1, 2, 3, 4, 5, 6] list_a * 3 : [1, 2, 3, 1, 2, 3, 1, 2, 3]
메서드 (append, insert, extend)
- append 는 리스트 맨 뒤에 값을 추가
- insert 는 지정된 위치에 값 추가
- extend 는 2개 이상의 리스트를 기존 리스트에 추가할 때
list1 = [1, 2, 3] print('list1 :', list1) list1.append(4) # append 함수는 리스트 맨 뒤에 값을 추가 print('list1 :', list1) list1.append(100) print('list1 :', list1) list1.insert(0, 50) # 0번 자리에 50을 넣겠다. print('list1 :', list1) list1.extend(['cherry','banana']) # 마지막 위치에 해당 리스트 추가
메서드 (del, pop, remove)
# 리스트 요소(값) 제거 (인덱스 번호로 삭제) : del, pop # remove : 특정 값으로 제거 list2 = [0, 1, 2, 3, 4, 5] del list2[1] # 1번 인덱스 자료를 삭제 list2.pop(2) # 2번 인덱스 자료를 삭제 및 리턴 list2.remove(2) # 2를 제거 print() list3 = [0, 1, 2, 3, 4, 5, 6] del list3[3:6] # 슬라이싱 삭제는 del 함수만 가능
Tuple
- 읽기 전용 리스트로써 값을 수정할 수 없다.
선언 방법
t1 = (1, 2, 3) t2 = 1, 2, 3 # 소괄호 생략 가능 t3 = tuple([100, 3.14, 'hello']) t4 = (100) # 튜플이 아닌 일반 변수로 인식 t5 = (100,) # 값이 하나일때는 쉼표를 붙여준다 print('t5 :', t5)
List 와 Tuple 의 공통점
- 연산 가능 (덧셈, 곱셈)
- 인덱싱, 슬라이싱 가능
List 와 Tuple 의 차이점
- 리스트는 [] , 튜플은 ()
- 리스트는 요소의 추가, 수정, 삭제 가능
- 튜플은 요소를 변경할 수 없다.
Set (집합)
선언 방법
s1 = {1, 2, 3} print('세트 s1 :', s1) # 값을 1개 추가하기 (add) s1.add(4) print('세트 s1 :', s1) # 값을 여러개 추가하기 (update) s1.update([5, 6, 7]) print('세트 s1 :', s1) # 특정값을 제거하기 (remove) s1.remove(3) # 값 3을 지워라 print('세트 s1 :', s1) # 실행 결과 세트 s1 : {1, 2, 3} 세트 s1 : {1, 2, 3, 4} 세트 s1 : {1, 2, 3, 4, 5, 6, 7} 세트 s1 : {1, 2, 4, 5, 6, 7}
Set 의 교집합, 합집합, 차집합
s1 = {1, 2, 3, 4, 5, 6} s2 = {4, 5, 6, 7, 8, 9} print('세트 s1 :', s1) print('세트 s2 :', s2) # 교집합 print(s1 & s2) print(s1.intersection(s2)) # 합집합 print(s1 | s2) print(s1.union(s2)) # 차집합 print(s1 - s2) print(s1.difference(s2)) print(s2 - s1) print(s2.difference(s1)) ======================실행 결과====================== 세트 s1 : {1, 2, 3, 4, 5, 6} 세트 s2 : {4, 5, 6, 7, 8, 9} {4, 5, 6} {4, 5, 6} {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3} {1, 2, 3} {8, 9, 7} {8, 9, 7}
Dictionary (딕셔너리)
- Js 의 object, map 과 비슷하게 Key, Value 가 한쌍으로 이루어져있다.
선언 방법
dic = {'name' : '홍길동', 'birthday' : '1212'} print('딕셔너리 dic :', dic) # 특정값을 출력할 때 print(dic['name']) # 딕셔너리 값을 수정 할 때 dic['name'] = '라이언' print('딕셔너리 dic :', dic) # 딕셔너리 쌍을 추가 할 때 dic['address'] = '대구' # 해당하는 키가 없으면 추가됨 print('딕셔너리 dic :', dic) # 딕셔너리 쌍을 추가 할 때 dic['address'] = '대구' # 해당하는 키가 없으면 추가됨 print('딕셔너리 dic :', dic) # 딕셔너리 쌍을 삭제하기 del dic['address'] # address에 해당하는 키와 값을 삭제 print('딕셔너리 dic :', dic) # key 리스트 만들기 print(dic.keys()) # dic의 key 부분만 따로 모은것 # 값(value) 리스트 만들기 print(dic.values()) # 값 부분만 따로 모은것 # items 함수를 이용해서 쌍을 얻기 print(dic.items()) # 쌍이 튜플 형식으로 묶인다 # 키와 값을 모두 지우기 dic.clear() print('딕셔너리 dic :', dic) # 실행 결과 딕셔너리 dic : {'name': '홍길동', 'birthday': '1212'} 홍길동 딕셔너리 dic : {'name': '라이언', 'birthday': '1212'} 딕셔너리 dic : {'name': '라이언', 'birthday': '1212', 'address': '대구'} 딕셔너리 dic : {'name': '라이언', 'birthday': '1212'} dict_keys(['name', 'birthday']) dict_values(['라이언', '1212']) dict_items([('name', '라이언'), ('birthday', '1212')]) 딕셔너리 dic : {}
반응형'Language > Python' 카테고리의 다른 글
[PYTHON] 파이썬 - 문자열 메서드 (2) 2023.12.28 [PYTHON] 파이썬 기본 문법 (0) 2023.12.28 [PYTHON] 파이썬이란? (2) 2023.12.28 다음글이 없습니다.이전글이 없습니다.댓글