시퀀스 타입
문자열, 리스트, 튜플의 3가지 종류.
문자열 - 인용부호(‘ ‘, “ “)
리스트 - [ ] / 튜플 - ( ) 로 표현
시퀀스 타입의 객체는 인덱스 연산을 통해 내부 항목에 접근 할 수 있다.
리스트
리스트는 순차적인 데이터를 나타내는 데 유용하며, 문자열과는 달리 내부 항목을 변경할 수 있다.
리스트의 생성
>>> empty_list1 = []
>>> empty_list2 = list()
>>> sample_list = ['a', 'b', 'c', 'd']
>>> sample_list2 = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
다른 데이터를 리스트로 변환
list 함수를 사용
>>> list('League of legends')
['L', 'e', 'a', 'g', 'u', 'e', ' ', 'o', 'f', ' ', 'l', 'e', 'g', 'e', 'n', 'd', 's']
인덱스 연산
sample_list2를 이용해서 실습. 5월, 7월을 인덱스연산을 통해 추출해보자.
내부항목 변경
sample_list를 이용, 3번째 요소인 ‘c’를 대문자 ‘C’로 바꿔본다.
슬라이스 연산
- sample_list2를 이용, 1월부터 3월씩 건너뛴 결과를 quarters에 할당
- sample_list2를 이용, 끝에서부터 3번째 요소까지를 last_three에 할당
- sample_list2를 이용, 끝에서부터 처음까지(거꾸로) 2월씩 건너뛴 결과를 reverse_two_steps에 할당
리스트 항목 추가 (append)
>>> sample_list.append('e')
>>> sample_list
['a', 'b', 'c', 'd', 'e']
리스트 병합 (extend, +=)
>>> fruits = ['apple', 'banana', 'melon']
>>> colors = ['red', 'green', 'blue']
>>> fruits.extend(colors)
>>> fruits
['apple', 'banana', 'melon', 'red', 'green', 'blue']
>>> fruits = ['apple', 'banana', 'melon']
>>> colors = ['red', 'green', 'blue']
>>> fruits += colors
>>> fruits
['apple', 'banana', 'melon', 'red', 'green', 'blue']
extend대신 append를 사용하면?
특정 위치에 리스트 항목 추가(insert)
리스트 함수 insert(offset)을 사용
- fruits리스트의 1번째 위치에 ‘mango’를 추가해보자
- fruits리스트의 100번째 위치에 ‘pineapple’을 추가해보자
특정 위치 리스트 항목 삭제 (del)
파이썬 구문 del을 사용
del은 리스트 함수가 아닌, 파이썬 구문이므로
del <리스트>[오프셋]
형식을 사용한다.
>>> del fruits[0]
값으로 리스트 항목 삭제 (remove)
>>> fruits.remove('mango')
리스트 항목 추출 후 삭제 (pop)
>>> fruits.pop()
>>> fruits.pop(-3)
값으로 리스트 항목 오프셋 찾기 (index)
>>> fruits.index('red')
존재여부 확인 (in)
>>> 'red' in fruits
True
값 세기 (count)
>>> fruits.append('red')
>>> fruits.append('red')
>>> fruits.count('red')
3
정렬하기 (sort, sorted)
- sort는 리스트 자체를 정렬
- sorted는 리스트의 정렬 복사본을 반환
리스트 복사 (copy)
- copy함수
- list함수
- 슬라이스 연산[:]
튜플
리스트와 비슷하지만, 정의 후 내부 항목의 삭제나 수정 불가.
튜플 생성
>>> empty_tuple = ()
>>> colors = 'red',
>>> fruits = 'apple', 'banana'
튜플을 정의할 때는 괄호가 없어도 무관하나, 괄호로 묶는것이 좀 더 튜플임을 구분하기 좋다. 또한, 튜플의 요소가 1개일 때는 요소의 뒤에 쉼표(,)를 붙여야 한다.
튜플 언패킹
>>> f1, f2 = fruits
형 변환
tuple함수를 사용 (튜플 생성에는 사용 불가능)
리스트를 튜플로 변환
튜플을 사용하는 이유
- 리스트보다 적은 메모리 사용
- 정의후에는 변하지 않는 내부 값
실습
- 문자열 ‘Fastcampus’를 리스트, 튜플 타입으로 형변환하여 새 변수에 할당한다.
- 1번에서 할당한 리스트, 튜플 변수를 이용해 다시 문자열을 만든다.
Comments