리스트
리스트 생성
lst = [1, 2, 3, 4, 5]
type(lst)
> list
인덱싱 & 슬라이싱
- 전체적인 사용법은 day2에 업로드한 인덱싱, 슬라이싱 방법과 동일하다.
a = [1, 2, 3, 4, 5, 6, 7, 8]
a[0]
> 0
a[-1]
> 8
a[:-1:3]
> [1, 4, 7]
리스트 연산
a = [1, 2]
b = [3, 4]
a + b
> [1, 2, 3, 4]
a * 3
> [1, 2, 1, 2, 1, 2]
길이 구하기
len(a)
> 2
len(a) + len(b)
> 4
수정 & 삭제
a= [1, 2, 3, 4, 5]
a[0] = 0
> [0, 2, 3, 4, 5]
a[-1] = 10
> [0, 2, 3, 4, 10]
a[2:4] = [9, 9]
> [0, 2, 9, 9, 10]
# 삭제는 del 명령어를 사용한다.
del a[0]
> [2, 9, 9, 10]
del a[:2]
> [9, 10]
리스트 함수들
# append() : 추가
a = [1, 2, 3]
a.append(9)
a
> [1, 2, 3, 9]
# sort() : 정렬
a = [3, 5, 2, 1, 4]
a.sort()
> [1, 2, 3, 4, 5]
# 문자의 경우 알파벳 순으로 정렬]
# 인덱스
a = [1, 3, 5, 7, 9]
a.index(9)
> 4
# count() : 요소 갯수 세기
a = [1, 1, 2, 2, 2, 3, 4, 5]
a.count(1)
> 2
# extend() : 확장
a = [1, 2, 3]
b = [4, 5]
a.extend(b)
> [1, 2, 3, 4, 5]
튜플
- 리스트는 []로 둘러싸지만 튜플은 ()을 사용한다.
- 튜플은 요소의 값을 수정, 추가, 삭제할 수 없다.
a = (1, 2, 3)
type(a)
> tuple
a[0] = 5 # 요소 수정
> TypeError 발생
# 인덱싱과 슬라이싱은 가능
# 방법은 리스트와 동일
튜플 연산
a = (1, 2, 3)
b = ('a', 'b', 'c')
a + b
> (1, 2, 3, 'a', 'b', 'c')
a + 3
> TypeError
b * 3
> ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
딕셔너리
- Key와 Value를 한 쌍으로 갖는 자료형이다.
dic = {'name': '홍길동', 'age': 27, 'addr': '서울'}
type(dic)
> dict
# Key를 이용하여 Value를 조회할 수 있다.
dic['name']
> '홍길동'
# get를 이용하여 조회하면 없는 Key를 조회할 수 있다.
# 없는 Key를 조회할 경우 빈 값으로 조회되며, 'None'으로 설정 가능하다.
dic.get('학과')
dic.get('학과', 'None')
> 'None'
추가, 수정, 삭제
dic = {'name': '홍길동', 'age': 27, 'addr': '서울'}
# 추가
dic['학과'] = '컴퓨터공학과'
> dic = {'name': '홍길동', 'age': 27, 'addr': '서울', '학과': 컴퓨터공학과'}
# 수정
a['name'] = '이순신'
> dic = {'name': '이순신', 'age': 27, 'addr': '서울', '학과': 컴퓨터공학과'}
# 삭제(del)
del dic['age]
> dic = {'name': '이순신', 'addr': '서울', '학과': 컴퓨터공학과'}
딕셔너리 함수들
# keys()
dic = {'name': '홍길동', 'age': 27, 'addr': '서울'}
dic.keys()
> dict_keys(['name', 'age', 'addr'])
# values()
dic.values()
> dict_values(['홍길동', 27, '서울'])
# items()
dic.items()
> dict_items([('name': '홍길동'), ('age': 27), ('addr': '서울')])
집합
a = set([1, 2, 2, 2, 2])
a
> {1, 2}
type(a)
> set
b = set("Hello")
b
> {'H', 'e', 'l', 'o'}
교집합, 합집합, 차집합
a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])
# 교집합: &, intersection()
a & b
> {3, 4, 5}
# 합집합: |, union()
a | b
> {1, 2, 3, 4, 5, 6, 7}
# 차집합: -, difference()
a - b
> {1, 2}
추가, 제거
# add와 update
a = set([1, 2, 3])
a.add(100)
a.update('a', 'b', 'c') # 여러개 추가
a
> {1, 2, 3, 100, 'a', 'b', 'c'}
# remove
a.remove(100)
> {1, 2, 3,'a', 'b', 'c'}
불리언
- 불(bool)이라고 하며, 참(True)과 거짓(False)을 나타내는 자료형
a = True
b = False
a, b
> (True, False)
type(a)
> bool
not a
> False
int(a) # 숫자형 1은 참, 0은 거짓을 의미한다.
> 1
int(b)
> 0
c = '' # 문자형 ''과 ""은 거짓을 의미한다.
> False
c = ' ' # 띄어쓰기는 데이터로 받아들이기 때문에 참을 의미한다.
> True
- 불리언의 경우 리스트, 튜플, 딕셔너리, 집합 모두 동일하게 적용된다.