python 시퀀스(list, tuple)
20 May 2018 | python list tuple패스트캠퍼스 웹 프로그래밍 수업을 듣고 중요한 내용을 정리했습니다.
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
이 포스팅에서는python
시퀀스에 대해 설명합니다.
주요 용어 : index
slice
append
extend
insert
del
remove
pop
count
시퀀스타입
파이썬에 내장된 시퀀스 타입에는 문자열, 리스트, 튜플이 있다.
문자열은 인용부호(‘’,”“)를 사용하며, 리스트는 대괄호[], 튜플은 괄호()를 사용하여 나타낸다.
리스트
>>> 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']
인덱스 연산
- sample_list2를 이용해서 실습. 5월, 7월을 인덱스연산을 통해 추출해보자.
sample_list2[4]
sample_list2[6]
내부항목 변경
- sample_list를 이용, 3번째 요소인 ‘c’를 대문자 ‘C’로 바꿔본다.
sample_list[2] = C
슬라이스 연산
- sample_list2를 이용, 1월부터 3월씩 건너뛴 결과를 quarters에 할당
qurters = sample_list2[::3]
- sample_list2를 이용, 끝에서부터 3번째 요소까지를 last_three에 할당
last_three = sample_list2[:-4:-1]
- sample_list2를 이용, 끝에서부터 처음까지(거꾸로) 2월씩 건너뛴 결과를 reverse_two_steps에 할당
reverse_two_steps = sample_list2[::-2]
리스트 항목 추가 (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를 사용하면?
fruits.append(color) 리스트 안에 리스트를 추가하는 모습이 나온다.
['apple', 'banana', 'melon', ['red', 'green', 'blue']]
특정 위치에 리스트 항목 추가 (insert)
- fruits리스트의 1번째 위치에 ‘mango’를 추가해보자
fruits.insert(1, 'mango')
- fruits리스트의 100번째 위치에 ‘pineapple’을 추가해보자
fruits.insert(100, 'pineapple')
특정 위치 리스트 항목 삭제 (del)
del fruits[0]
값으로 리스트 항목 삭제 (remove)
fruits.remove('mango')
리스트 항목 추출 후 삭제 (pop)
fruits.pop()
fruits.pop(-3)
값으로 리스트 항목 찾기 (index)
>>> fruits.index('apple')
0
존재여부 확인 (in)
'apple' in fruits
값은 True, False로 나온다.
값 세기 (count)
>>> fruits.append('red')
>>> fruits.append('red')
>>> fruits.count('red')
3
정렬하기 (sort, sorted)
- sort는 리스트 자체를 정렬한다.
- sorted는 리스트의 정렬 복사본을 반환
def number(n):
# number라는 함수는 매개변수 n의 1번째 요소를 리턴해준다.
return n[1]
random = [(1,2,3), (2,3,4), (1,4,2), (2,1,3),(2,5,6)]
# random이라는 변수를 함수 number에 따라 정렬한다.
random.sort(key=number)
print(random)
>>> [(2, 1, 3), (1, 2, 3), (2, 3, 4), (1, 4, 2), (2, 5, 6)]
튜플 (tuple)
리스트와 비슷하나, 정의 후 내부 항목의 삭제나 수정이 불가능하다.
개발을 하다보면 변하지 않아야 하는 값들이 있는데, 그런 값들은 튜플에 넣어주면 유용하게 쓸 수 있다.
실습
1.문자열 ‘Fastcampus’를 리스트, 튜플 타입으로 형변환하여 새 변수에 할당한다.
li = ['Fastcampus,']
tu = ('Fastcampus,')