# 리스트 list 와 튜플 tuple
구 분 | 리스트(list) | 튜플(tuple) |
특 징 | - 하나의 변수에 여러 값을 할당하는 자료형 - [대괄호]를 사용하여 생성 - 다양한 형태를 넣을 수 있음 - 데이터는 콤마로 구분 - 수정, 추가 가능 |
- 하나의 변수에 여러 값을 할당하는 자료형 - (소괄호)를 사용하여 생성 - 다양한 형태를 넣을 수 있음 - 데이터는 콤마로 구분 - 수정, 추가 불가능 |
# 리스트 함수(예시)
x = ["A", "B", "C", "B"]
코드 | 의미 | x = |
x.append("a") | 리스트에서 항목 하나를 맨 마지막에 추가 | ["A", "B", "C", "B", "a"] |
x.extend(["a", "b"]) | 리스트에서 항목 여러개를 맨 마지막에 추가 | ['A', 'B', 'C', 'B', 'a', 'a', 'b'] |
x.insert(1, "a") | 리스트에서 특정위치에 항목 삽입 | ['A', 'a', 'B', 'C', 'B', 'a', 'a', 'b'] |
x.remove("B") | 입력값과 첫번째로 일치하는 항목을 리스트에서 삭제 | ['A', 'a', 'C', 'B', 'a', 'a', 'b'] |
x.pop() | 리스트 마지막 항목을 제거 후 반환 | ['A', 'a', 'C', 'B', 'a', 'a'] |
x.index("B") | 리스트에서 인자와 일치하는 첫번째 항목의 인덱스번호 반환 | 3 |
x.count("a") | 리스트에서 인자와 일치하는 항목의 갯수 반환 | 3 |
x.sort() | 리스트 항목을 순방향으로 정렬 = sort(reverse=False) | ['A', 'B', 'C', 'a', 'a', 'a'] |
x.reverse() | 리스트 항목을 끝부터 역순으로 정렬 | ['a', 'a', 'a', 'C', 'B', 'A'] |
x = ["A", "B", "C", "B"]
print(x)
# ['A', 'B', 'C', 'B']
x.append("a")
print(x)
# ['A', 'B', 'C', 'B', 'a']
x.extend(["a", "b"])
print(x)
# ['A', 'B', 'C', 'B', 'a', 'a', 'b']
x.insert(1, "a")
print(x)
# ['A', 'a', 'B', 'C', 'B', 'a', 'a', 'b']
x.remove("B")
print(x)
# ['A', 'a', 'C', 'B', 'a', 'a', 'b']
x.pop()
print(x)
# ['A', 'a', 'C', 'B', 'a', 'a']
print(x.index("B"))
# 3
print(x.count("a"))
# 3
x.sort()
print(x)
# ['A', 'B', 'C', 'a', 'a', 'a']
x.reverse()
print(x)
# ['a', 'a', 'a', 'C', 'B', 'A']
# Range함수
- 연속된 숫자를 생성하는 함수
### List
num = list(range(10))
print(num)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
num = list(range(1, 11))
print(num)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num = list(range(-10, 10, 2))
print(num)
# [-10, -8, -6, -4, -2, 0, 2, 4, 6, 8]
num = list(range(5, 0, -1))
print(num)
# [5, 4, 3, 2, 1]
### Tuple
num = tuple(range(10))
print(num)
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
num = tuple(range(5, 0, -1))
print(num)
# (5, 4, 3, 2, 1)
# 리스트와 튜플의 기능들
### 특정값이 있는지 확인 : in ###
a = [1, 2, 3, 4, 5]
print(1 in a)
# True
print(8 in a)
# False
### 반복 : * ###
a = [1, 2, 3, 4, 5]
print(a*3)
# [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
### 연결 : + ###
a = [1, 2, 3, 4, 5]
b = [6, 7, 8]
print(a+b)
# [1, 2, 3, 4, 5, 6, 7, 8]
### 갯수 : len() ###
a = [1, 2, 3, 4, 5]
print(len(a))
# 5
# 인덱스 접근
### 기본 접근 및 변경 ###
a = [1, 2, 3, 4, 5]
print(a[2])
# 3
print(a[-1])
# 5
a[3] = 8
print(a)
# [1, 2, 3, 8, 5]
### 슬라이스 ###
a = [1, 2, 3, 4, 5]
print(a[0:4])
# [1, 2, 3, 4]
print(a[1:-2])
# [2, 3]
### 슬라이스 할당 및 삭제 ###
a = [1, 2, 3, 4, 5]
a[1:4] = ["a", "b", "c"]
print(a)
# [1, 'a', 'b', 'c', 5]
a[1:4] = ["d", "e"]
print(a)
# [1, 'd', 'e', 5]
del a[1:3]
print(a)
# [1, 5]
### 끝 인덱스 가져오기 ###
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(a[:3])
# [1, 2, 3]
print(a[3:])
# [4, 5, 6, 7, 8, 9, 10]
# 세트 set
세트 = { 값1, 값2, 값3, 값4 }
수학의 집합 개념을 파이썬에서 이용할 수 있도록 만든 데이터 타입
- 데이터의 순서가 없음
- 데이터를 중복해서 쓸 수 없음
- 리스트에서 사용했던 메서드 이외에도 교집합, 합집합, 차집합을 구하는 메서드 사용 가능
set = {1, 2, 3, 3}
print(set)
# {1, 2, 3}
메서드 | 기호 |
예 | |
교집합(intersection) | A ∩ B | | | A.intersection(B) |
합집합(union) | A ∪ B | & | A.union(B) |
차집합(difference) | A - B | - | A.difference(B) |
대칭차집합(symmetric_difference) | A ^ B | ^ | A.symmetric_difference(B) |
부분집합(issubset) | <= | A.issubset(B) | |
상위집합(issuperset) | >= | A.issuperset(B) |
### 합집합 ###
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)
print(set.union(a, b))
# {1, 2, 3, 4, 5}
### 교집합 ###
a = {1, 2, 3}
b = {3, 4, 5}
print(a & b)
print(set.intersection(a, b))
# {3}
### 차집합 ###
a = {1, 2, 3}
b = {3, 4, 5}
print(a - b)
print(set.difference(a, b))
# {1, 2}
print(b - a)
print(set.difference(b, a))
# {4, 5}
### 대칭차집합 ###
a = {1, 2, 3}
b = {3, 4, 5}
print(a ^ b)
print(set.symmetric_difference(a, b))
# {1, 2, 4, 5}
### 부분집합 ###
a = {1, 2, 3, 4}
print(a <= {1, 2, 3, 4, 5})
# True
print(a.issubset({1, 2, 3, 4, 5}))
# True
print(a <= {1, 2, 3})
# False
print(a.issubset({1, 2, 3}))
# False
### 상위집합 ###
a = {1, 2, 3, 4}
print(a >= {1, 2, 3})
# True
print(a.issuperset({1, 2, 3}))
# True
print(a >= {1, 2, 3, 4, 5})
# False
print(a.issuperset({1, 2, 3, 4, 5}))
# False
# 세트의 기능들
### 겹치는 요소 확인 ###
a = {1, 2, 3, 4}
print(a.isdisjoint({5, 6, 7, 8}))
# True (겹치는 요소 X)
print(a.isdisjoint({2, 3, 4, 5}))
# False (겹치는 요소 O)
### 세트 요소 추가 및 삭제 ###
a = {1, 2, 3, 4}
a.add(8)
print(a)
# {1, 2, 3, 4, 8}
a = {1, 2, 3, 4}
a.remove(3)
print(a)
# {1, 2, 4}
a.discard(2)
print(a)
# {1, 4}
# 딕셔너리 dictionary
딕셔너리 = { 키1 : 값1, 키2 : 값2 }
딕셔너리 = dic( 키1 = 값1, 키2 = 값2 )
- 키와 값이 항상 쌍으로 구성됨 = 키를 안다면 그에 해당하는 값을 쉽게 알 수 있음
- 인덱스 대신 키를 이용하여 값을 다룸
메서드 | 설명 | 예 |
keys() | 딕셔너리에서 키 전체를 리스트 형태로 반환 | dict.keys() |
values() | 딕셔너리에서 값 전체를 리스트 형태로 반환 | dict.values() |
items() | 딕셔너리에서 키와 값의 쌍을 (키, 값)처럼 튜플 형태로 반환 | dict.items() |
setdefault(키, 값) | 키 - 값 쌍 추가 | dict.setdefault("key", 77) |
update(dict_data2) | 딕셔너리에 딕셔너리('dict2') 추가 | dict.update(dict2) |
update({키 : 값}) | 키 - 값 수정 | dict.update({"key" : 77}) |
clear() | 딕셔너리의 모든 항목 삭제 | dict.clear() |
pop(키, 기본값) | 키로 딕셔너리 항목 삭제 후 값 반환 | dict.pop("key", 0) |
'Language > Python' 카테고리의 다른 글
[Python] 데코레이터(decorator) · 래퍼함수 · 일급객체 · 클로저(closure) (0) | 2023.08.23 |
---|---|
[Python] 람다 표현식 Lambda Expression (0) | 2023.08.21 |
[Python] 제어문 (컴프리핸션 Comprehension) + all · any 함수 (0) | 2023.08.18 |
[Python] 문자열 · 서식지정자 · format함수 (0) | 2023.08.16 |
[Python] 파이썬 설치 · 학습 일정 정리 (0) | 2023.08.16 |