튜플 자료형
리스트와의 차이점
리스트 : 변경 가능
튜플 : 변경 불가능
튜플 요소값 삭제 시 오류
>>> t1 = (1, 2, 'a', 'b')
>>> del t1[0]
Traceback (innermost last):
File "", line 1, in ?del t1[0]
TypeError: object doesn't support item deletion
튜플 요소값 변경 시 오류
>>> t1 = (1, 2, 'a', 'b')
>>> t1[0] = 'c'
Traceback (innermost last):
File "", line 1, in ?t1[0] = 'c'
TypeError: object doesn't support item assignment
인덱싱
>>> t1 = (1, 2, 'a', 'b')
>>> t1[0]
1
>>> t1[3]
'b'
슬라이싱
>>> t1 = (1, 2, 'a', 'b')
>>> t1[1:]
(2, 'a', 'b')
더하기
>>> t1 = (3, 4)
>>> t1 + t2
(1, 2, 'a', 'b', 3, 4)
곱하기
>>> t2 * 3
(3, 4, 3, 4, 3, 4)
딕셔너리
Hash, Map, Object, JSON
API에 자주 활용됨
예제
다음은 한 사람에 관한 정보를 갖는 JSON 객체이다. 키-값 쌍(이름:값)의 패턴으로 표현된다.
{
"이름": "홍길동",
"나이": 25,
"성별": "여",
"주소": "서울특별시 양천구 목동",
"특기": ["농구", "도술"],
"가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"},
"회사": "경기 수원시 팔달구 우만동"
}
딕셔너리 자료형
- 연관 배열(Associative array) 또는 해시(Hash)
- 단어 그대로 해석하면 사전이라는 뜻
- Key를 통해 Value를 얻는다
>>> dic = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
딕셔너리 쌍 추가하기
>>> a = {1: 'a'}
>>> a[2] = 'b'
>>> a
{2: 'b', 1: 'a'}
딕셔너리 요소 삭제하기
>>> del a[1]
>>> a
{'name': 'pey', 3: [1, 2, 3], 2: 'b'}
딕셔너리에서 Key 사용해 Value 얻기
>>> grade = {'pey': 10, 'julliet': 99}
>>> grade['pey']
10
>>> grade['julliet']
99
딕셔너리 만들 때 주의할 사항
>>> a = {1: 'a', 1: 'b'}
>>> a
{1: 'b'}
Key 리스트 만들기(keys)
>>> a = {'name': 'pey', 'phone': '0119333323', 'birth': '1118'}
>>> a.keys()
dict_keys(['name', 'phone', 'birth'])
Value 리스트 만들기(values)
>>> a.values()
dict_values(['pey', '0119333323', '1118'])
Key, Value 쌍 얻기(items)
>>> a = {'name': 'pey', 'phone': '0119333324', 'birth': '1118'}
>>> a.items()
dict_items([('name', 'pey'), ('phone', '0119333324'), ('birth', '1118')])
Key: Value 쌍 모두 지우기(clear)
>>> a.clear()
>>> a
{}
Key로 Value 얻기(get)
>>> a = {'name': 'pey', 'phone': '0119333324', 'birth':'1118'}
>>> a.get('name')
'pey'
>>> a.get('phone')
'0119333324'
해당 Key가 딕셔너리 안에 있는지 조사하기(in)
>>> a = {'name': 'pey', 'phone': '0119333324', 'birth': '1118'}
>>> 'name' in a
True
>>> 'email' in a
False
집합
집합 자료형
- 집합에 관련된 것들을 쉽게 처리하기 위해 만들어진 자료형
- 중복을 허용하지 않는다
- 순서가 없다(Unordered)
>>> s1 = set([1, 2, 3])
>>> s1
{1, 2, 3}
순서가 없고 중복이 허용되지 않는다
>>> s2 = set("Hello")
>>> s2
{'e', 'l', 'o', 'H'}
교집합 1
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])
>>> s1 & s2
{4, 5, 6}
교집합 2
>>> s1.intersection(s2)
{4, 5, 6}
합집합 1
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])
>>> s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
합집합 2
>>> s1.union(s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합 1
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])
>>> s1 - s2
{1, 2, 3}
>>> s2 - s1
{7, 8, 9}
차집합 2
>>> s1.difference(s2)
{1, 2, 3}
>>> s2.difference(s1)
{7, 8, 9}
값 1개 추가하기(add)
>>> s1 = set([1, 2, 3])
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}
값 여러 개 추가하기(update)
>>> s1 = set([1, 2, 3,])
>>> s1.update([4, 5, 6])
>>> s1
{1, 2, 3, 4, 5, 6}
특정 값 제거하기(remove)
>>> s1 = set([1, 2, 3])
>>> s1.remove(2)
>>> s1
{1, 3}
불
참(True)
거짓(False)
자료형의 참과 거짓
값 | 참 or 거짓 |
"Python" | 참 |
"" | 거짓 |
[1, 2, 3] | 참 |
[] | 거짓 |
() | 거짓 |
{} | 거짓 |
1 | 참 |
0 | 거짓 |
None | 거짓 |
변수
자료형의 값을 저장하는 공간, 변수
다음 예와 같은 a, b, c를 변수라고 한다.
>>> a = 1
>>> b = "python"
>>> c = [1, 2, 3]
변수를 만들 때는 =(assignment) 기호를 사용한다
파이썬에서 사용하는 변수는 객체를 가리키는 것
>>> a = 3
- 3이라는 값을 가지는 정수 자료형(객체)이 자동으로 메모리에 생성
- 변수 a는 객체가 저장된 메모리의 위치를 가리키는 레퍼런스(Reference)
- a라는 변수는 3이라는 정수형 객체를 가리키고 있다
리스트 변수 주의사항
>>> a = [1, 2, 3]
>>> b = a
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]
'Programming > PYTHON' 카테고리의 다른 글
파이썬 날개 달기 (0) | 2022.03.04 |
---|---|
파이썬 프로그램의 입력과 출력은 어떻게 해야 할까? (0) | 2022.03.02 |
파이썬 프로그램의 구조를 쌓는 제어문 알아가기 (0) | 2022.03.01 |
파이썬 프로그래밍의 기초, 자료형 (0) | 2022.02.27 |
Python 알아가기 (0) | 2022.02.27 |
댓글