Python | 리스트 & 튜플 자료형

Sua·2020년 12월 15일
0

Python

목록 보기
4/28
post-thumbnail
post-custom-banner

리스트

리스트는 말 그대로 목록이라는 뜻이며 값을 일렬로 늘어놓은 형태이다. 리스트는 값의 생성, 삭제, 수정이 가능하다.

리스트 생성하기

리스트를 생성하려면 값을 [ ](대괄호)로 묶어주고 각 값은 ,(콤마)로 구분해준다.

  • 리스트명 = [값1, 값2, 값3, ...]

리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있으며 자료형을 섞어서 저장해도 된다.

a = []
b = [1, 2, 3]
c = ['Life', 'is', 'too', 'short']
d = [1, 2, 'Life', 'is']
e = [1, 2, ['Life', 'is']]

비어 있는 리스트는 a = list()로 생성할 수도 있다.

range를 사용하여 리스트 만들기

  • 리스트 = list(range(횟수))
  • 리스트 = list(range(시작, 끝, 증가폭))
a = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b = list(range(-4, 10, 2)) # [-4, -2, 0, 2, 4, 6, 8]

리스트 다루기

리스트 수정하기

  • list[x] = b : x번째 요솟값을 b로 수정한다.

리스트 인덱싱

  • list[index] : 리스트도 문자열처럼 인덱싱이 가능하다. 0부터 시작

리스트 슬라이싱

  • list[start:stop] : 리스트도 문자열처럼 슬라이싱이 가능하다. 0부터 시작, 마지막 인덱스 포함 안 됨.

리스트 연산하기

  • + 기호를 사용하여 2개의 리스트를 합칠 수 있고, * 기호를 사용하여 리스트를 반복할 수 있다.

리스트 내장함수

  • len(list) : 리스트의 길이를 구함
  • max(list) : 리스트의 요소 중 최댓값 반환
  • min(list) : 리스트의 요소 중 최솟값 반환
  • list(seq) : 시퀀스를 리스트로 변환
  • del a[x] : x번째 요솟값을 삭제. 슬라이싱으로 리스트의 요소 여러 개를 한꺼번에 삭제할 수도 있음

리스트 메소드

  • list.append(x) : 리스트의 맨 마지막에 x를 추가
  • list.insert(a, b) : 리스트의 a번째 위치에 b를 삽입
  • list.pop() : 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제
  • list.remove(x) : 리스트에서 첫 번째로 나오는 x를 삭제
  • list.sort() : 리스트의 요소를 순서대로 정렬(숫자는 작은 수부터, 문자는 알파벳 순서)
  • list.reverse() : 리스트를 역순으로 뒤집음
  • list.index(x) : 리스트에서 x의 위치 값을 돌려줌. 없으면 값 오류(ValueError) 발생
  • list.count(x) : 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 돌려줌
  • list.extend(x) : x에는 리스트만 올 수 있으며 원래의 리스트에 x 리스트를 더함.(+= 역할)

튜플

튜플은 리스트처럼 요소를 일렬로 저장하지만, 안에 저장된 요소를 변경, 추가, 삭제를 할 수 없다. 읽기 전용 리스트라고 할 수 있다.

튜플은 요소가 절대 변경되지 않고 유지되어야 할 때 사용한다. 요소를 실수로 변경하는 상황을 방지할 수 있다.

튜플 생성하기

변수에 값을 저장할 때 ( )(괄호)로 묶어주면 튜플이 되며 각 값은 ,(콤마)로 구분해준다. 또는, 괄호로 묶지 않고 값만 콤마로 구분해도 튜플이 된다.

  • 튜플 = (값, 값, 값)
  • 튜플 = 값, 값, 값
t1 = ()
t2 = (1,)
t3 = 1,
t4 = (1, 2, 3)
t5 = 1, 2, 3
t6 = ('a', 'b', ('ab', 'cd'))

비어 있는 튜플은 a = tuple()로 생성할 수도 있다.

튜플 다루기

인덱싱, 슬라이싱, 더하기, 곱하기, range를 사용하여 튜플 만들기 등 값을 변화시킬 수 없다는 점만 제외하면 리스트와 그 방식이 완전히 동일하다.

튜플 내장함수

  • len(tuple) : 튜플의 길이를 구함
  • max(tuple) : 튜플의 요소 중 최댓값 반환
  • min(tuple) : 튜플의 요소 중 최솟값 반환
  • tuple(seq) : 시퀀스를 튜플로 변환

튜플 메소드

  • tuple.index(x) : 튜플에서 x의 위치 값을 돌려줌. 없으면 값 오류(ValueError) 발생
  • tuple.count(x) : 튜플 안에 x가 몇 개 있는지 조사하여 그 개수를 돌려줌

리스트와 튜플 비교

공통점

  • 순서가 존재(시퀀스)

차이점

  • 리스트는 값을 변경, 추가, 삭제 가능(mutable), 값 변경, 추가, 삭제
  • 튜플은 생성된 후 변경 불가(immutable)

본 포스팅은 아래의 사이트를 참고하여 작성되었습니다.
점프투파이썬 https://wikidocs.net/book/1
코딩도장 https://dojang.io/
https://cording-artist.tistory.com/124

profile
Leave your comfort zone
post-custom-banner

0개의 댓글