파이썬 수 자료형
정수형, 실수형이 있다. 실수형 데이터는 정확도가 떨어지므로 round함수를 이용한다.
a = 0.6
b = 0.3
print(a+b)
if a + b == 0.9:
print(True)
else:
print(False)
if round(a + b, 4) == 0.9:
print(True)
else:
print(False)
****************
0.8999999999999999
False
True
다른 언어와 다르게 / 연산자는 실수형을 반환한다. 몫을 얻고 싶으면 // 를 사용한다.
a = 7
b = 3
print(a/b)
print(a//b)
print(a%b)
****************
2.3333333333333335
2
1
리스트 자료형
데이터를 연속적으로 담는 자료형
C++ STL vector와 기능적으로 유사. c++ array를 써야할 곳에 리스트 자료형 쓰면 된다.
초기화 방법
a = [1,2,3,4]
a = [0] * 10
a = list()
a = []
# 리스트 컴프리핸션
array = [i for i in range(10)]
print(array)
# 0부터 19까지의 수 중에서 홀수만 포함하는 리스트
array = [i for i in range(20) if i%2 == 1]
print(array)
# 1부터 9까지의 수들의 제곱 값을 포함하는 리스트
array = [ i*i for i in range(1, 10)]
print(array)
# nxm 2차원 배열 만들기
n = 4
m = 3
array = [[0]*m for _ in range(n)]
print(array)
*****************************
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
뒤에서 부터 indexing 할 수 있음.
a = [1,2,3,4,5,6,7]
print(a[-1])
print(a[-3])
*************
7
5
슬라이싱은 :을 이용, 가져오고자 하는 끝 인덱스는 실제 인덱스 + 1
a = [1,2,3,4,5,6,7]
print(a[1:3])
*******************
[2, 3]
문자열 자료형
큰 따옴표 또는 작은 따옴표 이용. 백슬래시 이용 문자열에 큰 따옴표, 작은 따옴표 추가 가능.
문자열 변수에 덧셈(+) 이용하면 문자열이 연결 됨.
문자열에 대해서 인덱싱, 슬라이싱 가능 그러나 특정 인덱스의 값을 변경할 수는 없다.(Immutable)
a = "Hello"
b = "World"
print(a+b)
print(a*2)
print(a[2:5])
# str is immutable
# a[3] = "a"
********
HelloWorld
HelloHello
llo
튜플 자료형
리스트와 유사 몇 가지 차이있음
차이점
- 튜플은 한 번 선언된 값을 변경할 수 없음.
- 리스트는 대괄호([])를 이용하지만, 튜플은 소괄호(())를 이용
튜플을 사용하면 좋은 경우
- 서로 다른 성질의 데이터를 묶어서 관리해야 할 때
- 최단 경로 알고리즘에서는 (비용, 노드 번호) 형태로 튜플 자료형 자주 사용
- 데이터의 나열을 해싱 키 값으로 사용해야 할 때
- 튜플은 변경이 불가능하므로 리스트와 다르게 키 값으로 사용 가능.
- 리스트보다 메모리를 효율적으로 사용해야 할 때
a = (1,2,3,4,5,6,7,8)
print(a[3])
print(a[1:4])
# tuple is immutable
# a[2] = 7
*****
4
(2, 3, 4)
사전 자료형
키와 값 쌍을 데이터로 가지는 자료형
Immutable 자료형을 키로 사용할 수 있음. 파이썬 사전 자료형은 해시 테이블 사용한다.
a = dict()
a['홍길동'] = 97
a['이순신'] = 98
print(a)
b = {
'홍길동' : 97,
'이순신' : 98
}
print(b)
key_list = list(b.keys())
print(key_list)
*******
{'홍길동': 97, '이순신': 98}
{'홍길동': 97, '이순신': 98}
['홍길동', '이순신']
집합 자료형
중복을 허용하지 않고 순서가 없음.
리스트 혹은 문자열을 이용하여 초기화 할 수 있음.
- set() 함수 사용
중괄호({})안에 각 원소를 콤마(,) 기준으로 구분하여 삽입, 초기화 가능.
데이터 조회, 수정에 있어서 O(1) 시간으로 처리함.
# 집합 자료형 초기화 방법 1
data = set([1,1,2,3,4,4,5])
print(data)
# 집합 자료형 초기화 방법 2
data = {1,1,2,3,4,4,5}
print(data)
******
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
합집합, 교집합, 차집합 연산 지원함.
그외 집합 자료형 관련 함수
data = set([1,1,2,3,4,4,5])
# 새로운 원소 추가
data.add(6)
print(data)
# 새로운 원소 여러 개 추가
data.update([7, 8])
print(data)
# 특정한 값을 갖는 원소 삭제
data.remove(3)
print(data)
*****
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 4, 5, 6, 7, 8}
참조 : (이코테 2021 강의 몰아보기) 1. 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기 - YouTube
DFS-BFS 기본 #1 (0) | 2022.01.06 |
---|---|
HashMap 기본 (FindFirstUniqueCharacter...) (0) | 2022.01.04 |
HashTable 기초 (0) | 2022.01.03 |
Hash Table 만들기 (0) | 2022.01.03 |
Queue(Circular Queue) (0) | 2021.08.05 |
댓글 영역