리스트(List)란 숫자와 문자열만으로 집합을 표현하기는 쉽지 않다. 이것을 해소하기 위한 자료형이다.
리스트를 사용하면 1, 3, 5, 7, 9 와 같은 홀수 숫자 모음을 간단하게 표현할 수 있다.
odd = [1, 3, 5, 7, 9]
리스트를 만들 때는 위와 같이 대괄호로 감싸주고 각 요소를 쉼표(,)로 구분해준다.
리스트 안에는 a처럼 비어있을 수 있고 b, c처럼 숫자나 문자만 있을 수 있고 d처럼 숫자와 문자를 같이 넣어 리스트를 만들 수 있다.
a = []
b = [1, 2, 3]
c = ['Python', 'is', 'fun']
d = [1, 2, 'apple', 'banana']
a = [1, 2, 3]
위의 리스트에서 a[0]은 리스트 a의 첫 번째 요솟값인 1을 말한다.
a[0] + a[2]
위의 예는 리스트 a의 첫 번째 요소와 세 번째 요소를 더하는 것이다.
이것은 1+3으로 계산되어 4가 출력된다.
a = [1, 2, 3, ['a', 'b', 'c']]
위의 a리스트는 리스트를 요솟값으로 갖는다.
여기서 a[3] 은 리스트의 네 번째 요소를 가리키므로 ['a', 'b', 'c'] 가 출력이 된다.
여기서 ['a', 'b', 'c'] 이 리스트 안의 요소를 출력하고 싶다면 a[3][1] 으로 사용할 수 있다.
이것은 a리스트의 세번째 요소의 두 번째 요소라는 의미이므로 'b' 가 출력된다.
문자열과 마찬가지로 리스트에서도 슬라이싱을 할 수 있다.
a = [1, 2, 3, 4, 5]
a[0:2]
위와 같이 a[0:2]로 슬라이싱을 한다면 [1, 2]가 출력된다.
문자열에서의 슬라이싱 기법 사용법이 동일하다는 것을 알 수 있다.
a = [1, 2, 3]
b = [4, 5, 6]
a, b리스트에서 a+b를 한다면 a와 b 리스트를 합치는 역할을 한다. [1, 2, 3, 4, 5, 6]이 출력되는 것을 확인할 수 있다.
리스트에서 *기호는 문자열과 마찬가지로 곱하기가 아니라 반복이 된다.
a = [1, 2, 3]
a * 3
a리스트가 3번 반복된 [1, 2, 3, 1, 2, 3, 1, 2, 3]이 출력된다.
리스트는 len함수를 사용하여 다음과 같이 리스트의 길이를 구할 수 있다.
a = [1, 2, 3]
len(a)
a = [1, 2, 3]
a[2] = 4
다음과 같이 수정하고 싶은 값의 위치에 다른 넣고 싶은 값을 대입하면 a리스트의 세 번째 자리의 값을 3에서 4로 바꿀 수 있다.
a = [1, 2, 3]
del a[1]
del a[요소 위치]는 a 리스트의 요소위치에 있는 값을 삭제한다. 위의 예에서는 리스트의 두 번째 자리의 2를 삭제한다.
a = [1, 2, 3]
a.append(4)
append는 '덧붙이다'라는 의미가 있다. append 함수를 사용하면 리스트의 맨 마지막에 값을 추가하는 함수이다.
리스트 안에는 append 함수를 사용하여 어떤 자료형도 추가할 수 있다.
a.append([5, 6])
위의 결과로 a 리스트엔 [1, 2, 3, 4, 5, 6] 이 담겨있다.
a = [1, 4, 3, 2]
a.sort()
다음과 같이 sort함수를 사용하면 a 리스트안에 있는 값을 순서대로 정렬하여 [1, 2, 3, 4] 가 출력한다. 문자도 마찬가지로 순서대로 정렬할 수 있다.
a = ['a, 'b', 'c']
a.reverse()
reverse 함수는 리스트를 역순으로 뒤집어준다. 다음 예시의 결과로 ['c', 'b', 'a'] 가 출력된다.
index(a) 함수는 리스트에 a라는 값이 있으면 a의 위치 값을 돌려주는 함수이다.
a = [1, 2, 3]
a.index(3)
결과로 3의 위치 번호 2가 반환된다.
remove(a)는 리스트에서 첫 번째로 나오는 a를 삭제하는 함수이다.
a = [1, 2, 3, 4, 3, 5]
a.remove(3)
위의 결과로 [1, 2, 4, 3, 5] 가 출력이 된다. a가 3을 2개 가지고 있을 경우 첫 번째 3만 제거되었기 때문이다.
a = [1, 2, 3]
a.pop()
pop() 함수는 리스트의 맨 마지막 요소를 반환하고 그 요소는 삭제한다.
위의 예시에서 맨 마지막 요소인 3을 반환하고 3은 삭제된다.