안녕하심까! 또 돌아온 파이썬 공부입니다.
오늘의 파이썬의 기초 배열, 리스트의 메소드들을 공부해봅시다.
복습!
리스트는?
배열의 한 종류로서 인덱싱이 가능한 원소들을 저장하며 그 원소들은 바뀔 수도 있고 중복될 수도 있습니다.
이전 글: [Python 공부] 리스트의 기초?
[Python 공부] 리스트의 기초?
안녕하심까! 다시 돌아온 파이썬 공부입니다. 오늘은 기초 오브 기초, 리스트를 공부 해봅시다. 리스트는 뭘까?) 리스트(list)는 여러가지 원소(element)들을 저장하는 배열(array)의 한 종류입니다.
gaebalogaebal.tistory.com
메소드란?
생성된 객체의 특정 행위입니다.
리스트로서 생성된 객체가 존재합니다. 그 객체를 ls라고 명했을 때 이 ls는 할 수 있는 행위들이 굉장히 많습니다.
기본적으로 리스트는 배열이니 배열 안에 원소를 추가하는 행위가 필요하겠죠? 또 원소를 추가하는 행위가 있다면 원소를 제거하는 행위 또한 있습니다.
메소드를 사용하는 방법은 원하는 객체 뒤에 .을 붙이고 메소드를 적어주면 됩니다.
밑에 설명에서 더 자세히 봐봅시다.
append()
append라는 단어를 번역하면 추가하다라는 뜻입니다. 이런 식으로 모든 네이밍에는 이유가 있습니다. 원뜻을 알면 이 메소드를 사용할 때 더 쉽게 생각나겠죠?
append() 메소드는 리스트에 원소를 추가할 때 사용되는 메소드입니다.
# 빈 리스트 객체를 생성합니다
ls = []
# ls에 1, 2, 3을 추가합니다
ls.append(1)
ls.append(2)
ls.append(3)
print(ls)
# [1, 2, 3]
이런 식으로 메소드의 괄호 안에 넣고 싶은 원소를 넣어주면 리스트에 그 원소가 추가됩니다.
주의할 점은 append()를 사용할 때 한 개의 원소 밖에 추가되지 않습니다.
여러 개의 원소들을 한 번에 추가하고 싶다면 append([1, 2, 3]) 등과 같이 배열에 저장한 후 그 배열을 추가하면 되겠죠?
pop()
pop에는 여러 가지 뜻이 있지만 "나가다"라는 뜻도 있습니다. pop() 메소드는 리스트 안의 원소를 제거할 때 쓰입니다.
ls = [1, 2, 3]
# 3을 제거
ls.pop()
# 2를 제거
ls.pop()
# 1을 제거
ls.pop()
print(ls)
# []
pop()은 괄호 안에 숫자가 들어가기도 하지만 처음에는 보통 숫자 없이 pop()만 씁니다.
숫자 없이 pop()만 실행할 경우 리스트의 마지막 원소를 제거합니다. 그래서 위 코드에서도 3부터 제거된 거죠.
pop()은 제거만 하는 것이 아닙니다! 제거된 값을 리턴하기도 합니다. 그 제거된 값이 나중에 필요하다면 어떤 변수에 그 값을 저장해 줄 수도 있는 것이죠.
ls = [1, 2, 3]
# pop된 원소들을 변수에 저장하는 모습
first_pop = ls.pop()
second_pop = ls.pop()
third_pop = ls.pop()
print(first_pop, second_pop, third_pop)
# 3 2 1
Reverse()
reverse는 다들 아시다시피 뒤집다라는 뜻입니다.
reverse() 메소드 또한 리스트 안의 원소들의 순서를 뒤집어 줍니다.
# 리스트 객체 생성
ls = [1, 2, 3]
ls.reverse()
print(ls)
# [3, 2, 1]
append()와 달리 reverse()는 괄호 안에 어떤 값을 받지 않습니다. 정직하게 리스트의 원소들을 뒤집어주죠.
참고자료: w3schools
오늘은 이렇게 파이썬에서 리스트를 사용하는 데 있어 정말 기초적인 메소드들을 소개해봤습니다. 최대한 초심자들을 겨냥해 적은 만큼 간단하게 필요한 정보만 적어봤습니다. 나중에는 깊이 있는 글도 써보고 싶은데 실력이 아직 하하... 😉
화창한 하루가 되셨으면 좋겠습니다.
'[Python]' 카테고리의 다른 글
[Python 공부] 리스트의 기초? (0) | 2023.08.29 |
---|---|
[Python 공부] 탐욕의 알고리즘: Greedy Algorithm (0) | 2023.08.05 |
[Python 공부] Binary Search (0) | 2023.05.09 |
[Python 공부] Shallow Copy vs. Deep Copy (0) | 2023.05.08 |
[Python 공부] Call by Object Reference (0) | 2023.05.07 |