[Python] 리스트(list) 연산 - insert(), pop(), remove(), reverse(), sort(), index(), count()

2022. 2. 3. 17:30Languages/Python

 

insert()

 

  • insert(x, y)는 리스트의 x번째 위치에 y를 삽입
  • 기존에 x번째 위치에 있던 원소와 그 뒤 원소들은 한 칸씩 뒤로 밀린다.
L = [0, 1, 2]
L.insert(2, 10)

print(L) # [0, 1, 10, 2]

 

pop()

 

  • 리스트의 맨 마지막 원소를 리턴하고 해당 원소는 삭제한다.
  • pop(i)는 리스트의 i번째 원소를 리턴하고 삭제한다.
L = [0, 1, 2, 3]
L.pop()
print(L)  # [0, 1, 2]

L.pop(1)  # 1번째 원소 리턴 후 삭제
print(L)  # [0, 2]

 

remove()

 

  • remove(x)를 실행 시, 리스트에서 첫 번째로 나오는 x를 삭제한다.
  • 그렇기에 리스트에 동일한 x가 여러 개 있다면, 가장 첫 번째로 나오는 x만 삭제된다. 
L = [0, 1, 2, 3, 4, 3]
L.remove(3)
print(L)       # [0, 1, 2, 4, 3]

L.remove(3)
print(L)       # [0, 1, 2, 4]

 

reverse()

 

  • 리스트를 역순으로 뒤집는 연산
  • 리스트 요소들을 순서대로 정렬한 다음 다시 역순 정렬 (X)
  • 그냥 현재 리스트를 그대로 뒤집는 연산 (O)
L = [1, 3, 2, 5, 8]

L.reverse()
print(L)         # [8, 5, 2, 3, 1]

 

sort()

 

  • 리스트의 원소들을 오름차순 순서대로 정렬
  • 문자 역시 알파벳 순서로 정렬
  • stable한 정렬이다.
L = ['a', 'd', 'c', 'b']
L.sort()

print(L)    # ['a', 'b', 'c', 'd']

 

index()

 

  • index(x)는 리스트에 x 값이 있다면, x의 위치(index) 값을 리턴
  • 리스트에 존재하지 않는 값을 찾으려고 할 시, 값 오류(ValueError) 발생
L = [1, 3, 5, 7, 9]
L.index(5)    # 2 리턴

# L.index(0)  리스트에 없는 값을 찾았기에 오류 발생

 

count()

 

  • count(x)는 리스트 안에 "x"라는 원소가 몇 개 있는지 리턴
L = [10, 20, 30, 40, 30]
L.count(10)   # 1
L.count(30)   # 2

 

 

728x90
반응형