list : 여러 개의 값들을 하나의 변수에 저장하기 위한 데이터 타입
원소(element): 리스트에 저장된 값
인덱스(index): 리스트에 값이 저장된 위치(번호)
리스트의 원소들을 변경(추가/삭제) 가능 (mutable)
# 리스트 생성
numbers = [1, 2, 3, 4, 5, 'hello']
print(numbers[5]) # 리스트의 마지막 인덱스 = 리스트의 길이 - 1
출력 결과
hello
# 범위 연산자를 이용한 slicing
print(numbers[3:5])
출력 결과
hello
[4, 5]
# 배열에 저장된 값(원소)을 변경
numbers[0] = 100
print(numbers)
출력 결과
[100, 2, 3, 4, 5, 'hello']
# 배열에 원소 하나를 추가(append)
numbers.append('bye')
print(numbers)
출력 결과
[100, 2, 3, 4, 5, 'hello', 'bye']
# 배열에 원소 추가2(extend)
numbers.extend(['my', 'favorite', 7])
print(numbers)
출력 결과
[100, 2, 3, 4, 5, 'hello', 'bye', 'my', 'favorite', 7]
# append와 extend 비교
numbers.append([8,9,10])
print(numbers)
출력 결과
[100, 2, 3, 4, 5, 'hello', 'bye', 'my', 'favorite', 7, [8, 9, 10]]
# 원소 삭제 (remove): 값으로 삭제
numbers.remove(100)
print(numbers)
출력 결과
[2, 3, 4, 5, 'hello', 'bye', 'my', 'favorite', 7, [8, 9, 10]]
# 원소 삭제 (del): 인덱스로 삭제
del numbers[2]
print(numbers)
출력 결과
[2, 3, 5, 'hello', 'bye', 'my', 'favorite', 7, [8, 9, 10]]
# 비어있는 리스트 만들기
empty = []
print(empty)
출력 결과
[]
# 파이썬의 리스트는 여러가지 타입의 값들을 함께 저장할 수 있음.
person = ['오쎔', 16, 170.5, True]
print(person[3], type(person[3]))
출력 결과
True <class 'bool'>
# list decomposition
name, age, height, marriage = person
print(name, age, height, marriage)
출력 결과
모딩 20 175.6 True
# 2차원 리스트
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(matrix)
print(matrix[0], type(matrix[0]))
print(matrix[0][2])
print(matrix[0:2])
print(matrix[0:2][0])
print(matrix[0:2][1][1])
출력 결과
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[1, 2, 3] <class 'list'>
3
[[1,2,3], [4,5,6]]
[1, 2, 3]
5
tuple(튜플): 원소(값)들을 변경할 수 없는 리스트
# 튜플은 소괄호로 묶음
numbers = (1,2,3)
print(numbers)
print(numbers[0]) # 인덱스
print(numbers[0:2]) # 슬라이싱
one, two, three = numbers # decompostiion
print(one, two, three)
# numbers[0] = 1
# TypeError - # Tuple 타입은 값을 변경할 수 없다
실행 결과
(1, 2, 3)
1
(1, 2)
1 2 3