🥧 Python/💭 네이버 부캠 모위파

[네이버 부스트캠프: 모두를 위한 파이썬] 8장. 리스트

썸머몽 2023. 3. 9. 01:42
728x90

📌 리스트란?

대부분의 변수는 한 값만 갖는다. 변수에 새로운 값을 대입하면 이전의 값 위에 덮어 씌우게 된다. 컬렉션은 하나의 변수에 많은 값을 넣을 수 있는데, 리스트는 이 컬렉션의 하나다.

 

li = [1, 7, 18]

이런 식으로 li라는 변수에 1, 7, 18 값을 담고 있다.

리스트 안에 다른 리스트도 넣을 수 있고, li = [] 이렇게 쓰면 빈 리스트를 만들 수도 있다.

리스트를 선언할 때 list 라고 이름을 지으면 예약어라서 오류가 나니 이 부분을 유의해야 한다.

 

리스트는 주로 유한 루프에서 많이 활용된다.

for i in [1, 2, 3, 4, 5] :
	print(i)
print('hi')

i가 리스트 안의 요소들을 한 번씩 훑고 가서

1

2

3

4

5

hi

이렇게 출력되고 있다. 

 

리스트도 문자열과 마찬가지로 인덱스가 있으며 0부터 시작하는 것과 len, 슬라이싱 모두 동일하다.

리스트도 + 연산자로 리스트끼리 더해줄 수 있다. (빼는 개념보다는 자르는 개념이 있다.)

단 차이점이 있다면 리스트는 리스트 안의 요소들을 변경할 수 있다는 점이다.

 

문자열의 경우에는 '' 안에 있는 문자를 바꿀 수가 없다.

예를 들어 hi = 'hello' 일 때 hi[2] = 'a' 이렇게 l을 a로 바꾸려고 하면 바꿀 수가 없다.

인덱스로 문자열의 내용을 찾을 수는 있지만 바꿀 수는 없는 것이다.

 

반면 리스트는 변경이 가능하다.

hi = [1, 2, 3, 4, 5] 일 때 hi[2] = 18이라고 하면 hi = [1, 2, 18, 3, 4, 5] 

이렇게 3번째 자리에 18이 추가되어 변경할 수가 있다.

 

range함수

알고리즘 문제 풀 때 많이 사용되는 range함수!

이 함수는 0부터 매개 변수로 넣은 값보다 1 작은 범위의 수까지 구성된 숫자 리스트를 반환한다.

뭔 말이냐 하면...

 

>>> print(range(4))

[0, 1, 2, 3]

 

이렇게 나온다는 얘기다.

 

**list의 매서드**

1) list.append() : 원소를 추가한다. 추가된 원소는 맨 오른쪽에 위치한다.

2) list.sort() : 기존 리스트의 순서를 바꿔준다. 오름차순이고 내림차순으로 하려면 sort(reverse=True) 하면 된다.

 비슷하게 sorted(list)라는 내장함수가 있는데 얘는 새로운 값을 리턴해준다. 새로운 변수 = sorted(기존리스트) 이런 식...

3) split() : 문자열을 나눠준다. 예를 들어 split() 이라고 하면 공백을 기준으로 나눠준다고 보면 된다.

 

pop이나 remove... 등등 코딩도장에서 배웠던 것들도 생각이 났다.

 


 

리스트까지 정리 끝!

 

728x90