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}
 
반응형