개발 이야기/TIL
Python 자료형 List, Tuple(튜플), dictionary(딕셔너리), set
혁진
2023. 1. 24. 11:18
List
lst = [1,2,3,0,-4,100]
list, 파이썬에서는 배열(array)를 제공하지 않는데, 대신 list를 제공한다. 다만 이는 내부적으로 dynamic array와 같다.
list에서 특정 요소에 접근하기
lst = [1,2,3,0,-4,100]
lst[0]
1
lst[-1]
100
이중 list에서 값에 접근하기
lst = [1,2,[100,99],4]
lst[2]
[100, 99]
lst[2][0]
100
이중 배열 선언하기
lst = [[0 for j in range(19)] for i in range(19)]
#j column, i row
여러 함수들
lst = [1,2,3,0,-4,100]
lst.append(2)
lst.sort()
lst.reverse()
lst.insert(1,3)
lst.remove(2)#숫자 제거
lst.pop() #마지막 요소 리턴 후 삭제
Tuple(튜플)
list와 비슷하지만 []가 아니니 ()로 둘러싸인다. 튜플은 요소의 값을 바꿀 수 없다
tup = (1,2,3,0,-4,100)
del tup[0]
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion
```
Dictionary { }
딕셔너리는 key:value 쌍을 가지는 자료형이다. {}을 사용한다
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
dict = {'name':'zin', 'phone':'010-1234-1234', 'birth': '0907'}
key값 받기, value값만 받기 , 쌍으로 받기
dict.keys()
dict_keys(['name', 'phone', 'birth'])
dict.values()
dict_values(['zin', '010-1234-1234', '0907'])
dict.items()
dict_items([('name', 'zin'), ('phone', '010-1234-1234'), ('birth', '0907')])
key로 value값 얻기, 확인하기
dict.get('name')
'zin'
'name' in dict
True
Set :집합, 중복 허용안함
set도 동일하게 {}을 이용해서 만들수 있지만, dict와 겹침으로 빈 set을 만들기 위해서는 s = set()으로 만들어야한다
특징
1. 중복을 허용하지 않는다
2. 순서가 없다 -> 인덱싱을 지원하지 않는다
집합 관련 함수
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
#교집합
>>> s1 & s2
{4, 5, 6}
#합집합
>>> s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
#차집합
s1 - s2
{8, 9, 7}
집합안에 원소 추가, 제거
s1 = set([1, 2, 3])
#값 추가
s1.add(5)
s1
{1, 2, 3, 5}
#여러값 추가
s1.update([4,0,8])
s1
{0, 1, 2, 3, 4, 5, 8}
#값 제거
s1.remove(0)
s1
{1, 2, 3, 4, 5, 8}