python 리스트 정리(1)

‍Juhee Kim·2021년 7월 16일
0

리스트란?

파이썬에서 리스트는 대괄호([])로 표현하며, 리스트의 각 항목은 콤마(,)로 구분한다.

  • 자전거를 나열한 리스트 예제
bicycles = ['trek', 'cannodale', 'redline', 'specialized']

print(bicycles) 
#결과 : ['trek', 'cannodale', 'redline', 'specialized']

리스트 항목에 접근하기

리스트는 순서가 있는 모음이다. 따라서 원하는 항목의 위치, 또는 인덱스(index)를 지정해서 접근할 수 있다.

  • bicycles 리스트 출력
bicycles = ['trek', 'cannodale', 'redline', 'specialized']

print(bicycles[0])
#결과 : trek

파이썬은 리스트의 첫 번째 항목의 위치를 0에서 시작한다고 정의한다.

bicycles = ['trek', 'cannodale', 'redline', 'specialized']

print(bicycles[1]) #cannodale
print(bicycles[3]) #specialized

print(bicycles[-1]) #specialized

리스트 항목 수정하기

항목 하나를 수정할 때는 리스트 이름 다음에 바꾸려는 항목의 인덱스를 쓰고 새 값을 지정해 준다.

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

motorcycles[0] = 'ducati'
print(motorcycles)
결과 : ['ducati', 'yamaha', 'suzuki']

리스트 항목 추가하기 - append()

리스트에 항목을 이어 붙이는 방법 : append()로 리스트 끝에 항목을 추가할 수 있다.

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

motorcycles.append('ducati') #리스트이름.append('값')
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki', 'ducati']

빈 리스트를 만든 다음 append()를 계속 호출 해 항목을 추가할 수 있다.

motorcycles = [] #빈 리스트 생성

motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki') #계속 호출해서 추가 추가

print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

리스트 항목 삽입하기 - insert()

insert() 메서드를 사용해 새 항목을 리스트 중간에 추가할 수 있다.
새 항목의 인덱스와 값을 지정해 주면 된다.

motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati') #리스트이름.insert(인덱스, 값)
print(motorcycles)
#결과 : ['ducati','honda','yamaha','suzuki']

'ducati'를 인덱스가 0인 위치게 삽입했다. 기존에 인덱스 0에 위치한 값인 'honda'가 인덱스 1로 옮겨졌다. 다른 값도 모두 한 칸씩 옆으로 옮겨진 결과 값을 볼 수 있다.

리스트 항목 제거 - del

제거할 위치의 항목을 알고 있으면 del 문을 사용할 수 있다.

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

del motorcycles[0] #del 리스트이름[제거할 인덱스]
print(motorcycles)
#결과 : ['yamaha', 'suzuki']

리스트 항목 제거 - pop()

pop() 메서드는 리스트의 마지막 항목을 빼내서 사용할 수 있다.
리스트를 일종의 탑으로 생각하고, 그 탑 맨 위에 있는 항목을 꺼낸다는 뜻이다. 이런 탑 같은 구조를 스택(stack)이라 한다. 탑은 아래에서부터 쌓이므로 스택의 맨 위가 리스트의 마지막이다.

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

popped_motorcycle = motorcycles.pop() #리스트에서 값을 꺼내 새로운 변수에 저장
print(motorcycles)
#결과 : ['honda', 'yamaha']
print(popped_motorcycle)
#결과 : suzuki

pop() 메서드의 괄호에 빼낼 항목의 인덱스를 넣으면 해당 항목을 빼오고, 동시에 리스트에서는 제거된다.

motorcycles = ['honda', 'yamaha', 'suzuki']

first_owned = motorcycles.pop(0)
print('The first motorcycle I owned was a ' + first_owned.title() + '.')
#결과 : The first motorcycle I owned was a Honda.

😵 del vs pop() ?

항목을 리스트에서 제거하면서 다시 쓸 일이 없으면 del 문
항목을 리스트에서 제거하면서 어딘가에 사용할 것이라면 pop() 메서드

리스트 항목 제거 - remove()

리스트에서 제거할 값의 위치를 모를 때, 제거할 항목의 값만 알고 있을 때 remove() 메서드를 사용한다.

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki', 'ducati']

motorcycles.remove('ducati') #파이썬 리스트에서 'ducati'를 찾아 그 항목을 제거함
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

remove() 메서드를 쓰면 리스트에서 제거한 값을 사용할 수 있다.
제거한 이유를 출력하는 예시를 보면 좀 와닿을지도 !

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki', 'ducati']

too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
#결과 : ['honda', 'yamaha', 'suzuki']

print(f"\nA {too_expensive.title()} is too expensive for me.")
#결과 : A Ducati is too expensive for me.

만약 리스트에 같은 값이 여러 개 있다면 remove() 메서드는 첫 번째 항목만 제거한다. 값을 전부 제거하고 싶다면 루프를 사용해야 한다.

profile
찐문과생의 빅데이터 생존기🐣 열심히 할래용 (ง •_•)ง

0개의 댓글