Python/Python 기초 정리
[Python] 데이터 타입 정리 : string, bool, int, float, list, dict, set, tuple
Jake the Dog
2022. 3. 14. 11:05
반응형
타입 출력하기
print(type(v_str))
데이터 길이 출력하기
# 튜플 : 자료 개수
print(len((1, 3, 4)))
# 리스트 : 자료 개수
print(len([1, 3, 4]))
# 세트 : 자료 개수
print(len({1, 3, 4}))
# 사전형 : 자료 개수
print(len({"x": 1, "c": 3, "d": 4}))
# 문자형 : 문자 길이
print(len("asdasd"))
# 정수형 : 불가
# print(len(32))
# 실수형 : 불가
# print(len(32.23))
# 불리언 : 불가
# print(len(True))
String
- 문자형
v_str = "NiceMan"
Boolean
- 불리언
v_bool = True
Float
- 실수형
v_float = 10.0
Int
- 정수형
v_int = 7
List
- 배열
- 정렬 O
- 등록 O
- 수정 O
- 삭제 O
- 중복 가능
# 선언
v_list = [2, 67, 4, 6]
print(v_list)
# >>> [2, 67, 4, 6]
# 정렬
v_list.sort()
print(v_list)
# >>> [2, 4, 6, 67]
# 리스트의 끝에 값을 추가
v_list = [2, 4, 6, 67]
v_list.append(9)
print(v_list)
# >>> [2, 4, 6, 67, 9]
# POP - 값을 리턴하고 삭제, 값이 없으면 맨 마지막을 리턴(LILO)
v_list = [2, 4, 6, 67]
a = v_list.pop()
print(v_list)
# >>> [2, 4, 6]
print(a)
# >>> 9
# 삭제 : 리스트 위치
v_list = [2, 4, 6, 67]
del v_list[0] # 0번째 삭제
print(v_list)
# >>> [4, 6, 67]
v_list = [2, 4, 6, 67]
del v_list[-2] # 뒤에서 두번째 삭제
print(v_list)
# >>> [2, 4, 67]
v_list = [2, 4, 6, 67]
del v_list[1:3] # index 1번 위치부터 3번 위치 전까지 삭제
print(v_list)
# >>> [2, 67]
# 삭제 : 지정한 값과 동일한 값
v_list.remove(67)
print(v_list)
# >>> [4, 6]
# 삭제 전체
v_list.clear()
print(v_list)
# >>> []
Dictionary
- 사전형
- 정렬 X
- 등록 O
- 수정 O
- 삭제 O
- 중복 X -> 마지막 값이 출력된다
# 선언
v_dict = {
"name": "Tom",
"age": 25
}
# 키에 해당하는 값을 가져오기
v_dict = {"name": "Tom", "age": 24}
print(v_dict["name"])
# >>> Tom
# 키가 없는 경우
# print(v_dict["email"])
# Traceback (most recent call last):
# File "wi.py", line 37, in <module>
# print(v_dict["email"])
# KeyError: 'email'
# 키가 없는 자료에 에러 없이 접근 방법
print(v_dict.get("email"))
# >>> None
# 키만 리스트로 리턴
l_dict1 = v_dict.keys()
print(l_dict1)
# >>> dict_keys(['name', 'age'])
# 값만 리스트로 리턴
l_dict2 = v_dict.values()
print(l_dict2)
# >>> dict_values(['Tom', 24])
# 키와 값 모두 리스트로 리턴
l_dict3 = v_dict.items()
print(l_dict3)
# >>> dict_items([('name', 'Tom'), ('age', 24)])
# 값 추가
v_dict["email"] = "tom@gmail.com"
print(v_dict)
# >>> {'name': 'Tom', 'age': 24, 'email': 'tom@gmail.com'}
# 요소 삭제
del v_dict["email"]
print(v_dict)
# >>> {'name': 'Tom', 'age': 24}
# key가 딕셔너리 안에 있는지 조사하기
b1 = "name" in v_dict
print(b1)
# >>> True
b2 = "email" in v_dict
print(b2)
# >>> False
# 전체 삭제
v_dict.clear()
print(v_dict)
Tuple
- 인덱싱 가능
- 슬라이싱 가능
- 정렬 O
- 등록 O
- 수정 X
- 삭제 X
# 튜플 선언 방식
v_tuple_1 = ()
v_tuple_2 = (1,)
v_tuple_3 = (1, 2, 3)
v_tuple_4 = 1, 2, 3
v_tuple_5 = ('a', 'b', ('ab', 'cd'))
# 튜플 더하기
print(v_tuple_3 + v_tuple_4)
# >>> (1, 2, 3, 1, 2, 3)
# 튜플 곱하기
print(v_tuple_3 * 3)
# >>> (1, 2, 3, 1, 2, 3, 1, 2, 3)
# 튜플 함수
a = (5, 2, 3, 1, 4, 4, 5)
# index() 값을 가지고 있는 첫번째 인덱스를 반환
print('a - ', a.index(5))
# >>> a - 0
# count() 값을 가지고 있는 개수를 반환
print('a - ', a.count(4))
# >>> a - 2
# 슬라이싱
d = (10, 100, 'Pen', 'Cap', 'Plate')
e = (10, 100, ('Pen', 'Cap', 'Plate'))
print('d - ', d[0:3]) # 인덱스 0부터 3이전까지의 값
# >>> d - (10, 100, 'Pen')
print('d - ', d[2:]) # 인덱스 2부터
# >>> d - ('Pen', 'Cap', 'Plate')
print('e - ', e[2][1:3]) # 인덱스 2의 값 내의 인덱스 1번부터 3이전까지의 값
# >>> e - ('Cap', 'Plate')
Set
- 집합 자료형
- 중복 X (자동으로 중복이 제거)
- 순서 X
# 선언 방식
v_set = set([7, 8, 9])
v_set = {7, 8, 9}
# 문자형을 set으로 지정
v_set = set("stringtoset")
print(v_set)
# >>> {'i', 'n', 'g', 'o', 't', 's', 'e', 'r'}
# 중복 자동 제거 제거
v_set = {3, 2, 3}
print(v_set)
# >>> {2, 3}
# set을 이용한 list의 중복제거
v_list = [3, 2, 3, 5, 76]
v_list = set(v_list)
v_list = list(v_list)
print(v_list)
# >>> [2, 3, 76, 5]
# 집합
v_set1 = {1, 2, 3, 4, 5}
v_set2 = {3, 4, 5, 6, 7}
# 교집합
v_inter1 = v_set1 & v_set2
print(v_inter1)
# >>> {3, 4, 5}
v_inter2 = v_set1.intersection(v_set2)
print(v_inter2)
# >>> {3, 4, 5}
# 합집합
v_union1 = v_set1 | v_set2
print(v_union1)
# >>> {1, 2, 3, 4, 5, 6, 7}
v_union2 = v_set1.union(v_set2)
print(v_union2)
# >>> {1, 2, 3, 4, 5, 6, 7}
# 차집합
v_diff1 = v_set1 - v_set2
print(v_diff1)
# >>> {1, 2}
v_diff2 = v_set1.difference(v_set2)
print(v_diff2)
# >>> {1, 2}
# 값 추가
v_set_add = {1, 2, 3, 4, 5}
v_set_add.add(6)
print(v_set_add)
# >>> {1, 2, 3, 4, 5, 6}
# 한꺼번에 값 추가
v_set_update = {1, 2, 3, 4, 5}
v_set_update.update([7, 8, 9])
print(v_set_update)
# >>> {1, 2, 3, 4, 5, 7, 8, 9}
# 값 제거
v_set_remove = {1, 2, 3, 4, 5}
v_set_remove.remove(3)
print(v_set_remove)
# >>> {1, 2, 4, 5}
반응형