코테/파이썬

코테를 위한 파이썬 문법 - 1. 자료형

mildroast 2021. 8. 12. 22:16

아무래도 파이썬은 처음이다 보니 파이썬에 대한 정리는 필요한거같다.
혼자 공부하면서 블로그에 정리하는거지만 누군가에게도 도움이 됬으면 좋겠다.

 

수 자료형

정수형 (Integer)

1
2
3
4
5
6
7
8
= 1000
print(a) # 1000
 
= -7
print(a) # -7
 
= 0
print(a) # 0
cs

 

 

실수형 (Real Number)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
= 157.93
print(a) # 157.93
 
= -157.93
print(a) # -157.93
 
# 소수부가 0일 때 생략 가능
= 5.
print(a) # 5.0
 
# 정수부가 0일 때 생략 가능
= -.5
print(a) # -0.5
 
# 지수형식 표현 가능
= 1e9
print(a) # 1000000000.0
 
= 75.25e1
print(a) # 752.5
 
= 1234e-3
print(a) # 1.234
 
= 0.3 + 0.6
print(a)
 
# 컴퓨터가 실수를 정확하게 표현하지 못함
if a == 0.9:
    print(True)
else:
    print(False# False
 
# round를 통한 소수점 반올림
= round(123.4562)
print(a) # 123.46
 
# math를 이용한 올림, 내림, 버림
import math
 
= math.ceil(123.456# 올림
print(a) # 124
 
= math.floor(123.456# 내림
print(a) # 123
 
= math.trunc(123.456# 버림
print(a) # 123
cs

 

수 자료형의 연산

1
2
3
4
5
6
7
8
9
10
11
= 7
= 3
 
# 나누기
print(a / b) # 2.3333333333333335
 
# 나머지
print(a % b) # 1
 
# 몫
print(a // b) # 2
cs

 

 

리스트 자료형

리스트 만들기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
= [123456789]
print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
 
# 인덱스 4번, 다섯 번째 원소에 접근
print(a[4]) # 5
 
# 빈 리스트 선언 방법 1
= list()
print(a) # []
 
# 빈 리스트 선언 방법  2
= []
print(a) # []
 
# 크기가 N이고, 모든 값이 0인 1차원 리스트 초기화
= 10
= [0* n
print(a) # [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
cs

 

리스트의 인덱싱과 슬라이싱

1
2
3
4
5
6
7
8
9
10
11
12
13
= [123456789]
# 뒤에서 첫 번째 원소 출력
print(a[-1]) # 9
 
# 뒤에서 세 번째 원서 출력
print(a[-3]) # 7
 
# 네 번째 원소 값 변경
a[3= 7
print(a) # [1, 2, 3, 7, 5, 6, 7, 8, 9]
 
# 두 번째 원소 부터 네 번째 원소까지
print(a[1 : 4]) # [2, 3, 7]
cs

 

리스트 컴프리헨션

특정 크기의 2차원 리스트를 초기화할 때는 반드시 리스트 컴프리헨션을 이용하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 0부터 19까지의 수 중에서 홀수만 포함하는 리스트
array = [i for i in range(20if i % 2 == 1]
print(array) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
 
# 위에와 같은 리스트 선언 방식
array = []
for i in range(20):
    if i % 2 == 1:
        array.append(i)
print(array) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
 
# n * m 크기의 2차원 리스트 초기화
= 3
= 4
array = [[0* m for _ in range(n)]
print(array) # [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
cs

 

리스트 관련 기타 메서드

메서드명 사용법 설명 시간복잡도
append() 변수명.append() 리스트에 원소 하나 삽입 O(1)
sort() 변수명.sort() 오름차순 정렬 O(NlogN)
변수명.sort(reverse=True) 내림차순 정렬
reverse() 변수명.reverse() 리스트의 원소 순서 뒤집기 O(N)
insert() 변수명.insert(인덱스, 값) 인덱스 위치에 값을 삽입 O(N)
count() 변수명.count(값) 리스트에 특정 값을 가지는 데이터 갯수를 셀때 사용 O(N)
remove() 변수명.remove(값) 특정값을 갖는 원소를 제거한다. 값이 여러개면 하나만 제거한다. O(N)

 

 

문자열 자료형

문자열 초기화

1
2
3
4
5
data = 'Hello World'
print(data) # Hello World
 
data = "Don't you know \"Python\"?"
print(data) # Don't you know "Python"?
cs

 

문자열 연산

1
2
3
4
5
6
7
8
9
10
11
12
# 문자열의 합연산
= "Hello"
= 'World'
print(a + ' ' + b) # Hello World
 
# 문자열의 곱 연산
= "String"
print(a * 3# StringStringString
 
# 문자열의 인덱싱, 슬라이싱
= "ABCDEF"
print(a[2:4]) # CD
cs

 

튜플 자료형

1
2
3
4
5
#튜플은 리스트와 거의 비슷하다.
= (1234)
print(a) # (1, 2, 3, 4)
 
a[2= 7 # ERROR! 튜플은 한 번 선언된 값을 변경할 수 없다.
cs

 

사전 자료형

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 사전 자료형은 '키'와 '값'의 쌍을 데이터로 가지는 자료형
# 파이썬의 사전 자료형은 해시테이블을 이용, 데이터의 검색 및 수정이 O(1)의 시간에 처리할 수 있음
 
data = dict()
data['사과'= 'Apple'
data['바나나'= 'Banana'
data['코코넛'= 'Coconut'
 
print(data) # {'사과': 'Apple', '바나나': 'Banana', '코코넛': 'Coconut'}
 
if '사과' in data:
    print('사과 있음'# 사과 있음
 
# 키 데이터만 담은 리스트
key_list = data.keys()
print(key_list) # dict_keys(['사과', '바나나', '코코넛'])
 
# 값 데이터만 담은 리스트
value_list = data.values()
print(value_list) # dict_values(['Apple', 'Banana', 'Coconut'])
cs

 

 

집합 자료형

집합 자료형 소개

집합은 다음과 같은 특징이 있다.

  • 중복을 허용하지 않음.
  • 순서가 없다.
1
2
3
4
5
6
7
# 집합 자료형 초기화 방법 1
data = set([1123445])
print(data) # {1, 2, 3, 4, 5}
 
# 집합 자료형 초기화 방법 2
data = {4432115}
print(data) # {1, 2, 3, 4, 5}
cs

 

집합 자료형의 연산

1
2
3
4
5
6
7
8
9
10
11
= {12345}
= {34567}
 
# 합집합
print(a | b) # {1, 2, 3, 4, 5, 6, 7}
 
# 교집합
print(a & b) # {3, 4, 5}
 
# 차집합
print(a - b) # {1, 2}
cs

 

집합 자료형 관련 함수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
data = {123}
print(data) # {1, 2, 3}
 
# 새로운 원소 추가
data.add(4)
print(data) # {1, 2, 3, 4}
 
# 새로운 원소 여러 개 추가
data.update([56])
print(data) # {1, 2, 3, 4, 5, 6}
 
# 특정한 값을 갖는 원소 삭제
data.remove(3)
print(data) # {1, 2, 4, 5, 6}
cs