Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AWS
- phpredis
- rabbitmq
- 블레이드 템플릿
- laravel
- Go
- Backbone.js
- webpack
- docker
- mariadb
- CentOS
- Switch
- javascript
- Machine Learning
- Redis
- Redux
- nodejs
- python
- nginx
- 기초 수학
- Node
- fastapi
- deep learning
- php
- Babel
- NCP
- For
- linux
- SQL
- React
Archives
- Today
- Total
개발일기
Python - 자료형에 대한 정리 본문
728x90
반응형
Python의 기본 자료형
- 정수형(Integer) : 1, 2, 3, -1, -2, -3 과 같이 소수가 포함되지않은 양수/음수의 자료형
- 실수형(Float) : 1.0, 1.5, 2.3, 3.6, -1.0, -1.5, -2.2 와 같이 소수점이 포함되어있는 실수형
- 참 / 거짓 (bool) : True, False - 참 거짓을 나타내는 자료형
- 문자형(String) : (" ") 따옴표 안에 들어가있는 문자들의 자료형
- 목록(List) : 다양한 데이터들을 자료형에 관계없이 추가한 목록형식의 자료형
- Python의 타입 검사
type() : 인수에 변수명을 추가하면, 해당 변수의 데이터 타입을 확인가능한 파이썬의 내장 함수
- 정수형(Integer)
a = 10 # 선언
type(a) # 변수 타입 확인
# <class 'int'>
- 실수형(Float)
a = 1.1
type(a)
# <class 'float'>
- 참/거짓(Bool)
a = 1 < 3 # 참 / 거짓 비교를 위해 정수 1과 3의 크기를 비교한다
type(a)
# <class 'bool'>
- 문자형(String)
a = "text" # 문자열 추가
type(a)
# <class 'str'>
- 목록형(List)
a = ["test1", "test2", "test3", 4]
# 목록형은 자료형의 일치여부와 상관없이 다양한 자료형으로 구성할 수 있다
type(a)
# <class 'list'>
List 자료형
연관있는 변수들을 따로따로 선언하는 것보다 하나의 리스트로 묶어서 선언하면 데이터를 더욱 효율적으로 관리할 수 있다.
List는 Sequence(순서)를 가진 자료형이며 Int, Float, String, 심지어는 같은 자료형인 List형식을 포함하여 하나의 리스트에 다양한 자료형을 추가하여 구성할 수 있다.
- List의 인덱싱
리스트에 추가되는 데이터에는 인덱스값이 부여된다. 부여된 인덱스값을 통해 리스트에 할당된 값을 호출한다. 특이하게도 파이썬의 리스트 인덱싱에서는 음수를 지원한다.
a = [10, 20, 30, 40] # 리스트 변수 선언
# 인덱스가 양수, 0인 경우 순차적으로 리스트 변수 값을 호출한다
print(a[0]) # 10
print(a[1]) # 20
print(a[2]) # 30
print(a[3]) # 40
# 인덱스가 음수일 경우, 역순으로 리스트 변수 값을 호출한다.
print(a[-1]) # 40
print(a[-2]) # 30
print(a[-3]) # 20
print(a[-4]) # 10
- List의 슬라이싱
리스트의 인덱스 값을 기반으로 범위를 나누어 범위에 해당되는 부분적인 값들을 반환한다.
- 양수, 0 슬라이싱
a[0:2] # [10, 20]
# 인덱스 0부터 2까지의 값을 반환한다. 즉, 인덱스가 0, 1인 값을 반환한다.
a[:2] # [10, 20]
# 인덱스를 0부터 시작하여 값을 나눌 경우, 0을 생략할 수 있다.
a[2:] # [30, 40]
# 인덱스 시작값을 지정하였지만 마지막 값을 지정하지 않은 경우, 범위를 리스트의 마지막까지로 지정되어 반환한다.
- 음수 슬라이싱
a[0:-1] # [10, 20, 30]
# a[-1]의 값은 40이다. a[-1]과 a[3]의 값은 동일하다
# 즉 a[0:3]로 슬라이싱한 것과 같은 값을 반환한다
a[:-2] # [10, 20] -> a[:2]와 동일
a[-3:] # [20, 30, 40] -> a[1:]과 동일
# a[-3]은 값이 20. 값이 20인 인덱스부터 마지막 인덱스까지 슬라이싱을 하기에 a[1:]과 동일하다
- 리스트의 주요 연산 목록
len | 리스트의 길이를 가져옴 | len(a) |
reverse | 리스트를 역순으로 변경함 | a.reverse() |
sort | 리스트를 정렬함(오름차순) | a.sort() |
count | 해당 값이 리스트에 몇개나 존재하는지 나타냄 | a.count(1) # 1이 몇개인지 |
append | 리스트의 맨 마지막에 값을 추가 | a.append(25) # 인덱스값이 추가됨 |
remove | 해당하는 값을 제거함 | a.remove(50) # 50을 제거 - 인덱스 당겨짐 |
pop | 맨 마지막값을 한 번 반환한 후, 제거함 | a.pop() # 마지막값 반환 후, 제거 |
del | 인덱스값을 통해 값을 제거함 | del b[2] # 인덱스가 2인 값 제거 |
insert | 해당하는 위치에 값을 추가함 | b.insert( index, vaue) # index위치에 value를 추가 # 인덱스 값이 밀려남 |
max, min | 최댓값, 최솟값을 구함 | max(a) min(a) # a 리스트의 최댓값, 최솟값 반환 |
Tuple 자료형
튜플(Tuple)은 리스트와 비슷한 특징을 가지고 있다. 약간의 차이점이 존재한다.
튜플(Tuple) | 리스트(List) |
튜플의 요소를 변경하거나 삭제할 수 없다. | 리스트의 요소를 변경하거나 삭제할 수 있다. |
소괄호()를 사용하여 감싼다. | 대괄호[]를 사용하여 감싼다. |
괄호 부호없이 값들을 나열하면 튜플을 생성할 수 있다. ex) tuple1 = 1, 2, 3 -> type(tuple1) -> <class 'tuple'> |
리스트를 생성하기 위해서는 반드시 대괄호 안에 값들을 나열해야 한다. |
이러한 특징으로 인해, 튜플은 요소의 값의 변경이나 삭제를 방지하기 위해 생성하여 활용하게 된다.
튜플 생성시, 값을 하나만 추가할 경우 반드시 콤마를 붙여 생성하여야 한다.
tuple1 = (1,) # O
tuple1 = (1) # X -> int형으로 선언된다
Dict 자료형
https://phsun102.tistory.com/33
블로그의 내용을 참조하면 된다!
집합 자료형 Set
집합자료형은 set키워드를 사용하여 만들 수 있다.
set([10, 20, 30]) # set
# {10, 20, 30}
set("James")
# {'a', 'e', 'm', 'J', 's'}
set("PHP")
# {'H', 'P'}
집합 자료형 set의 특징
- 중복된 값을 허용하지 않는다 (위의 set("PHP")의 경우 참조)
- 정해진 순서가 없다 (위의 set("James"), set("PHP")의 경우 참조)
집합 자료형 set의 활용
set자료형은 집합과 관련된 것을 처리할 때 사용하기 적합한 자료형이다. 예를 들어 교집합, 합집합, 차집합을 예로 들 수 있다.
set1 = set([1, 2, 3, 4, 5])
set2 = set([3, 4, 5, 6, 7])
# set 변수 생성
- 교집합
set1 & set2
set1.intersection(set2)
# {3, 4, 5}
- 합집합
set1 | set2
set1.union(set2)
# {1, 2, 3, 4, 5, 6, 7}
- 차집합
set1 - set2
set1.difference(set2)
# {1, 2}
set2 - set1
set2.difference(set1)
# {6, 7}
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
Python - for 반복문과 enumerate 함수 (0) | 2021.11.26 |
---|---|
Python - 함수정의 (0) | 2021.11.25 |
Python - Dict 자료형이란? (0) | 2021.09.17 |
Python - json 형식 (0) | 2021.09.16 |
Python - pip, pip3의 차이점 (0) | 2021.09.16 |
Comments