Python 리스트

이정빈·2023년 5월 7일
0

python

목록 보기
4/8

Python Cook Book


안녕하세요 이번 시간에는 Python 리스트에 대해서 정리해보겠습니다.


리스트란?


1부터 10까지의 숫자 중에서 홀수인 숫자는 1, 3, 5, 7, 9 입니다. 이러한 숫자들을 변수 하나하나에 저장해서 사용하려면 변수를 5개나 만들어야하는 불편함이 있습니다. 이럴 때 사용하는 것이 바로 리스트입니다. 리스트를 사용하면 여러 값들을 한 번에 저장할 수 있어 편리합니다.


리스트 사용하기


이렇게 편리한 리스트는 어떻게 사용할까요? 위에서 말한 1, 3, 5, 7, 9 를 저장하는 리스트를 만들어보겠습니다.

리스트를 만들 때에는 위와 같이 대괄호( [ ] )로 감싸 주고 각각 쉼표( , )로 구분합니다.

숫자를 저장할뿐만 아니라 다양한 형태로 리스트를 만들 수 있습니다.
listA처럼 빈 리스트를 만들수도 있고, listB처럼 숫자를 저장할 수도 있고, listC처럼 문자열을 저장할 수도 있고, listD처럼 숫자와 문자열을 함께 저장할 수도 있고, listE처럼 리스트 안에 리스트를 저장할 수도 있습니다.

cf. 빈 리스트는 listA = list()로도 만들 수 있습니다.

또한, 저번 문자열에서 했듯이 각 값에는 인덱싱과 슬라이싱으로 접근할 수 있습니다.



리스트 연산하기


리스트는 문자열과 같이 + 나 * 기호를 사용할 수 있습니다.

listA 뒤에 listB 가 나오도록 합쳐집니다.
문자열에서는 'Python' + 'CookBook' = 'PythonCookBook' 이 되는 것과 같습니다.

* 또한 마찬가지입니다.


리스트 길이 구하기


리스트의 길이를 구할 때는 len() 함수를 사용합니다.

알아두면 쓸데가 많으니 알아둡시다.



리스트 삭제하기, 수정하기


리스트의 요소를 삭제하려면 del 함수를 사용하거나 인덱싱과 슬라이싱을 사용할 수 있습니다.

del 함수는 Python이 자체적으로 가지고 있는 함수입니다. del 함수는 지정한 요소의 자리가 완전히 삭제하기 때문에 리스트 전체 길이에 영향을 줍니다.

이걸 완전히 삭제되었다고 말할 수 있을진 모르겠지만 어쨌든 원래 있던 값이 삭제되긴 합니다. 하지만 del 함수와는 달리 자리는 남아있는 모습입니다.

같은 원리로 원하는 값을 넣어주면 값이 수정됩니다. list[0]이 1에서 11로 수정되었습니다.



리스트 관련 함수들


값 추가함수

값을 추가하는 함수에는 append, insert, extend 가 있습니다.

append 함수를 사용하면 맨 마지막에 전달 인자(여기서는 11)가 추가됩니다. 기존에 있던 1, 3, 5, 7, 9 뒤에 11이 추가됐습니다.

extend 함수는 기존 리스트에 다른 리스트를 합쳐줍니다. listA + listB 를 한 것과 동일한 결과가 나왔습니다.

값 삭제함수

값을 삭제하는 함수에는 remove와 pop이 있습니다.

remove 함수는 리스트에서 가장 처음에 나오는 전달인자(여기서는 3)의 값을 삭제합니다.
만약 전달인자가 리스트 안에 존재하지 않는다면 오류가 납니다.

pop 함수는 리스트의 마지막 요소를 반환한 뒤 삭제합니다.

print를 해보면 9가 출력되고 리스트에서는 9가 없어지는 것을 볼 수 있습니다.

값 정리함수

값을 정리하는, 즉 요소들을 정렬하고 순서를 바꾸는 함수에는 sort와 reverse가 있습니다.

sort 함수는 리스트의 요소들을 순서대로 정리해줍니다.

문자 역시 알파벳 순서대로 정리해줍니다.

reverse 함수는 말 그대로 리스트의 순서를 반대로 뒤집습니다.

값 정보함수

값 정보함수, 즉 리스트의 정보를 알아내는 함수에는 index와 count가 있습니다.

index 함수는 리스트에 전달인자(여기서는 7)이 리스트 안에 있으면 전달인자의 인덱스를 반환합니다. 7이 list[3] 에 있으므로 3을 반환해줍니다.

count 함수는 리스트에 있는 전달인자(여기서는 3)의 개수를 반환해줍니다.



마무리


오늘은 Python 리스트와 리스트에서 사용하는 함수들을 알아보았습니다.
다음 시간에는 딕셔너리, 튜플, 집합에 대해서 정리해보도록 하겠습니다.
profile
안녕하세요

0개의 댓글