리스트는 말 그대로 목록이라는 뜻이며 값을 일렬로 늘어놓은 형태이다. 리스트는 값의 생성, 삭제, 수정이 가능하다.
리스트를 생성하려면 값을 [ ](대괄호)로 묶어주고 각 값은 ,(콤마)로 구분해준다.
리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있으며 자료형을 섞어서 저장해도 된다.
a = []
b = [1, 2, 3]
c = ['Life', 'is', 'too', 'short']
d = [1, 2, 'Life', 'is']
e = [1, 2, ['Life', 'is']]
비어 있는 리스트는 a = list()로 생성할 수도 있다.
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가 몇 개 있는지 조사하여 그 개수를 돌려줌본 포스팅은 아래의 사이트를 참고하여 작성되었습니다.
점프투파이썬 https://wikidocs.net/book/1
코딩도장 https://dojang.io/
https://cording-artist.tistory.com/124