[플레이데이터 빅데이터 부트캠프]Python 튜플 vs 리스트

튜플과 리스트

li1 = [1, 2, 3, 4, 5, 6]
tu1 = (1, 2, 3, 4, 5, 6)​
  • 리스트와 튜플의 가장 큰 차이점은 값을 변경할 수 있는가의 여부이다.
  • 프로그램이 실행 되는 동안 그 값이 변경되면 안 되는 경우에 튜플 사용하면 된다.
  • 튜플은 리스트에 비해 더 적은 메모리를 필요로 하고, 속도가 빠르다는 장점이 있다.

인덱싱과 슬라이싱

li1[1:5]
[2, 3, 4, 5]

len(li1)
6

li1[-1]
6

li1[1:5:2]
[2, 4]

li1[1::2] #슬라이싱 1번 부터 두칸씩 띄어서 인덱싱
[2, 4, 6]

li1[::-1] #거꾸로 출력
[6, 5, 4, 3, 2, 1]

리스트 안의 요소 찾기

3 in li1
True

min(li1) 최소값 출력
1

max(li1) 최대값 출력
6
type : 자료형 type을 출력

#문자열도 슬라이싱 가능
#그 요소에 있는지도 확인할 수 있다.

append vs extend

  • append나 extend와 같은 가변 연산자는 string이나 튜플에서는 사용할 수 없다.
  • 파이썬에서 가장 많이 사용되는 자료형인 리스트에서 자주 사용된다.
  • append와 extend의 차이점은 append는 여러개를 한꺼번에 추가할 수는 없고,
  • extend는 여러개를 한 꺼번에 추가할 수 있다.
li1 = [1, 2, 3, 4, 5, 6]

li1.extend([8, 9, 10])

li1
[1, 2, 3, 1, 5, 6, 7, 8, 8, 9, 10]​

insert

list.insert() 메소드를 사용하면, 중간에 내가 원하는 위치에 원소를 삽입할 수 있다.

li1.insert(2, 30)
li1
[1, 2, 30, 3, 4, 5, 6]

pop

list.pop() 메소드를 사용하면, 맨 끝에 있는 원소 삭제, pop(index) 해당 index에 있는 원소를 삭제할 수 있다.

li1.pop()
6

li1
[1, 2, 30, 3, 4, 5]

li1.pop(2)
30

li1
[1, 2, 3, 4, 5]

remove

list.remove() 메소드는 삭제할 값을 () 괄호 안에 넣어서 삭제해 준다.

lli1.remove(5)
li1
[1, 2, 3, 4]