공부/Python

[Python] 자료형 - 주석/정수형/실수형/불/리스트/튜플/사전/세트

ompeom 2020. 7. 17. 00:56

주석

 

 

자료형

파이썬은 기본적으로 변수 타입을 따로 정의하지 않는다.

타입 확인은 type() 함수를 사용한다.
정수형: int

실수형: float

문자열: str

부울형: bool
튜플: tuple

리스트: list

사전: dict

셋: set
None: NoneType
함수: function
클래스: 클래스명

 

불(bool) 자료형

참(True)과 거짓(False)로 나타내는 자료형
True와 False는 예약어이므로 반드시 앞에 대문자를 사용한다.

값이 있으면 참
ex) "python" [1,2,3]
비어있으면 거짓
ex) [] "" () {} None

1이면 참 0이면 거짓이다.

리스트형

리스트는 [ ]로 나타낸다.
순서가 있고 중복이 가능하다.
값의 생성, 삭제, 수정이 가능하다.
list = []

list = [1,2,3,4,5]

#리스트의 인덱싱
list[0]
>1

#리스트의 슬라이싱(0부터 뒤에 숫자의 -1만큼)
list[0:2]
list[2:]
list[:2]
>[1,2]
>[3,4,5]
>[1,2]

#중첩된 리스트에서 슬라이싱
list = [1,2,3,['a','b','c'],4,5]
list[3][:2]
>['a','b']

#리스트의 더하기
a = [1,2,3]
b = [4,5,6]
a+b
>[1,2,3,4,5,6]

#리스트의 반복
list*3
>[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

#리스트의 길이
len(list)
>5

#리스트의 값 여부
1 in list
1 not in list

#리스트의 값 수정
list[0] = 5
>[5,2,3,4,5]

#리스트의 요소 삭제
del list[2]
>[1,2,4,5]

리스트형 내장함수

list = [1,2,3,4,5]

#리스트의 요소 추가(append)
list.append(6)

#리스트에 어떠한 자료형도 추가할 수 있다
list.append([7,8])
>[1,2,3,4,5,6,[7,8]]

#리스트의 정렬(sort) -- 오름차순, 문자도 알파벳 순서로 가능
list.sort()

#리스트의 뒤집기(reverse) -- 현재 리스트를 그대로 거꾸로 뒤집는다, 내림차순X
list.reverse()

#위치 반환(index) -- 리스트에 (3) 값이 있으면 3의 위치 값을 반환한다
list.index(3)
>2

#리스트의 요소 삽입(insert) -- 0번째 위치에 4를 삽입
list.insert(0,4)
>[4,1,2,3,4,5]

#리스트의 요소 제거(remove) -- 리스트에서 첫 번째로 나오는 (2)를 삭제
list.remove(2)
>[1,3,4,5]

#리스트의 요소 끄집어내기(pop) -- 리스트의 맨 마지막 요소를 돌려주고 삭제
list.pop()
>5
list
>[1,2,3,4]
list.pop(1) -- 1번째 요소를 돌려주고 삭제
>2
list
>[1,3,4,5]

#리스트에 포함된 요소 x의 갯수 세기(count) -- (3)의 갯수 세기
list.count(3)

#리스트의 확장(extend) -- ()에는 리스트만 올 수 있다
list.extend([4,5])
>[1,2,3,4,5,4,5]

#리스트 비우기(clear)
list.clear

#리스트 복사(copy)
list.copy

 

튜플형

튜플은 ( )로 나타낸다.
순서가 있고 중복이 가능하다.
데이터 변경이 불가능하다.
tuple = ()

tuple = (1,2,3)
tuple = (1,) -- 요소가 1개만 있을 때, 콤마를 반드시 붙여야 한다
tuple = 1,2,3 -- 괄호 생략해도 가능

#튜플의 인덱싱
tuple[0]

#튜플의 슬라이싱
tuple[1:]

#튜플의 더하기
t1 = (1,2,'a','b')
t2 = (3,4)
t1+t2
>(1,2,'a','b',3,4)

#튜플의 곱하기
tuple*3

#튜플의 길이
len(tuple)

#튜플의 값 여부
1 in tuple
1 not in tuple

 

사전형

사전은 { }로 나타낸다.
순서가 없다.
키는 중복이 안되지만 값은 중복이 가능하다.
dic = {}

dic = {key1:value1, key2:value2}
dic = {1:'a', 2:'b'}

#사전에 쌍 추가 -- 키 3 값 'c' 추가
dic[3] = 'c'
>{1:'a', 2:'b', 3:'c'}

#리스트도 추가가 가능하다, key에는 리스트 사용 불가능, 튜플은 사용 가능
dic[4] = [1,2,3]
>{1:'a', 2:'b', 3:'c', 4:[1,2,3]}

#사전의 요소 삭제 -- 키가 2인 쌍 삭제
del dic[2]
>{2:'b', 3:'c'}

#사전의 key를 사용해 value 얻기 -- 인덱싱이나 슬라이싱X
dic[1]
>'a'

#리스트형에 사전형을 넣을 수 있다.
#사전형에 사전형을 넣을 수 있다.

사전형 내장함수

dic = {1:'a', 2:'b', 3:'c'}

#사전형의 모든 키 반환(keys)
dic.keys()

#사전형의 모든 값 반환(values)
dic.values()

#사전형의 모든 쌍 반환(items)
dic.items()

#사전형의 모든 쌍 지우기(clear)
dic.clear()

#사전형의 key로 value 얻기(get) -- 안에 찾으려는 key값이 없을 경우 디폴트 값 'none' 설정
dic.get(1,'none')

#사전형의 값 여부
'a' in dic
'a' not in dic

#사전형의 키와 값을 추가(update)
dic.update({4:'d'})

#사전형의 요소 끄집어내기(pop)
dic.pop()
dic.pop(1)

#사전형의 쌍을 튜플형으로 반환 후 삭제(popitem)
dic.popitem()

 

세트형(집합 자료형)

세트형은 { }로 나타낸다.
순서가 없고, 중복이 없다.
데이터 변경이 가능하다.
교집합, 합집합, 차집합에 유용
s = set()

s = set([1,2,3])

#중복과 순서가 없는 set의 특징
#자료형의 중복을 제거하기 위한 필터 역할로 종종 사용
s = set("hello")
>{'e', 'l', 'h', 'o'}

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

#교집합(& / intersection)
s1.intersection(s2)
s1 & s2
>{4, 5, 6}

#합집합(| / union)
s1 | s2
s1.union(s2)
>{1, 2, 3, 4, 5, 6, 7, 8, 9}

#차집합(- / difference)
s1 - s2
s1.difference(s2)
>{1, 2, 3}

세트형 내장함수

s1 = set([1, 2, 3])

#값 1개 추가(add)
s1.add(4)
>{1,2,3,4}

#값 여러 개 추가(update)
s1.update([4,5,6])
>{1,2,3,4,5,6}

#특정 값 제거(remove)
s1.remove(2)
>{1,3}