1. 수치형 (Number)
- int : 정수형
- float : 실수형
i = 123
type(i) # <class 'int'>
# 가능한 자료형 변환 (float도 동일)
int(i) # 123
float(i) # 123.0
str(i) # '123'
repr(i) # '123'
bool(i) # True
if i == None:
bool(i) # False
[i] # [123] < 이렇게 list로 생성 가능
(i) # (123) < 이렇게 tuple로 생성 가능
{i} # {123} < 이렇게 set으로 생성 가능
{i : "int"} # {123 : "int"} < 이렇게 dictionary로 생성 가능
# 불가능한 자료형 변환
list(i)
tuple(i)
dict(i)
set(i)
2. 문자열 (String)
- ' ' 또는 " "
- str : 일반 문자열
- repr : str에서 프로그램 상의 문자까지 취급
### 가능한 자료형 변환
s = "123"
type(s) # <class 'str'>
int(s) # 123
float(s) # 123.0
bool(s) # True
if value == None:
bool(s) # False
list(s) # ['1', '2', '3']
tuple(s) # ('1', '2', '3')
set(s) # {'2', '1', '3'} < 순서가 저장되지 않으니 주의!!
### str을 dict로 변환하는 방법!
s = "{'key' : 'value'}"
eval(s)
# Output : {'key': 'value'}
### 불가능한 자료형 변환
s = "apple"
type(s) # <class 'str'>
int(s) # ValueError: invalid literal for int() with base 10: 'apple'
float(s)
dict(s)
https://kyull-it.tistory.com/125
3. 부울, 불리언 (Bool, Boolean)
- True/참/일치 또는 False/거짓/일치하지 않음
- bool을 output으로 출력하는 함수들 (파이썬 자료형 관련된 기본 기능들)
# 변수가 문자열인 경우
s = "1234"
# 어떤 변수든지 그 변수가 어떤 type인지 확인할 수 있음
isinstace(s, int) # False
isinstace(s, str) # True
# s가 숫자인지 확인하는 함수
# s가 문자열일 때만 사용가능
s.isdigit() # True
s.isnumeric() # True
# s = 2²
# s.isdigit() # False
# s.isnumeric() # True
# s가 알파벳으로만 구성되어있는가?
s.isalpha() # False
# 변수가 숫자인 경우
s = 1234.0
int(s) == float(s) # True
# s가 float형일 때만 사용가능
s.is_integer() # True
4. 리스트 (List)
- 숫자, 문자, bool, 리스트, 튜플, 사전을 모두 담을 수 있는 배열 형태의 자료형
- 리스트 생성 방법
l = []
l = [1]
l = [1,2,3,4,5]
- 리스트에 값 추가하는 방법
list.append(value)
list.insert(index, value)
list = list + list
5. 튜플 (Tuple)
- immutable list (리스트와 동일한 특성에 객체 선언 이후에 수정할 수 없다는 특징이 있다.)
- 튜플 생성 방법 (packing)
t = ( )
t = (1,)
t = (1,2,3,4,5)
# 바로 이렇게도 가능
t = 1,2,3,4,5 # (1,2,3,4,5) <-- tuple로 packing
- 튜플의 값 꺼내기 (unpacking)
n = 1,2,3,4,5
one, two, three, four, five = n
print(one, two, three, four, five)
# 1 2 3 4 5
one, two, *others= n
print(others)
# [3, 4, 5]
# *를 사용하면 리스트(list)로 packing
- 여러 튜플을 사전으로 만드는 법
pairs = [('IBM', 125), ('ACME', 50), ('PHP', 40)]
d = dict(pairs)
# {'IBM': 125, 'ACME': 50, 'PHP': 40}
5. 사전 (Dictionary)
- key : value 형태의 사전 자료형
- key, value에는 파이썬의 모든 자료형이 들어갈 수 있음
- 표 형태의 자료형으로 사용하기에 효율적
- dict 변수 생성 방법
d = {}
d = dict()
d = {1 : 1}
d = {1:1, 2:2, 3:3, 4:4, 5:5}
- 변형으로 str 형태의 key값을 가지는 경우, 아래와 같이 선언해줄 수 있다.
nums = dict(one=1, two=2, three=3)
nums
# {'one': 1, 'two': 2, 'three': 3}
- 활용방법
# "key"가 dict에 있으면 dict["key"]를 리턴하고, 없다면 value를 리턴함
p = dict.get("key", value)
# 값 삭제
del dict["key"]
# multiple key를 사용하고 싶을 때, key자리에 tuple 또는 list를 사용
dict["key1", "key2"] = value
dict[("key1", "key2")] = value
# 키 리스트
k = dict.keys() : dict가 수정되면 k도 수정됨
l = list(dict) : dict가 수정되도 l은 수정되지 않음
# 값 리스트
v = dict.values() : dict가 수정되면 v도 수정됨
# key-value pairs 얻는법
i = dict.items()
6. 집합 (Set)
- 집합 내의 값은 중복되지 않는다 = 고유한 값(unique value)들의 집합
- 값의 배열 순서도 저장하지 않음
- 복사되지도 않으며, indexing할 수도 없음
- 집합 생성 방법
s = {}
s = {1}
s = {1,2,3,4,5}
- 집합의 연산
- a = t | s Union : 합집합
- b = t & s Intersection : 교집합
- c = t - s Difference : 차집합
- d = t ^ s Symmetric difference : 여집합
- 집합 내의 원소 추가 및 제거하는 방법
t.add(value) # a single item
s.update({value, value, value}) # multiple items
t.remove(value) # value가 t에 속하지 않을 때, KeyError 발생
s.discard(value) # value가 s에 속하지 않아도 에러발생 안함
* set, list, dictionary는 comprehension 사용이 가능하다.
'Programming > python' 카테고리의 다른 글
[파이썬 기초] 문자열 format 사용법 (0) | 2023.05.11 |
---|---|
[파이썬 기초] 파이썬 행렬의 덧셈 - 프로그래머스 Lv1 문제 풀이 | zip, tuple unpacking (0) | 2023.04.29 |
[파이썬 기초] 문자열 연산의 모든 것! (0) | 2023.03.14 |
[파이썬 기초] 파이썬 연산의 모든 것! (Python Operators CheatSheet) (0) | 2023.03.11 |
프로그래머스 머쓱이 스탬프 (입문 단계) 획득 완료!! (0) | 2023.03.09 |