list와 tuple은 언뜻 보기에 비슷하지만 경우에 따라 list를 쓰는지 tuple을 쓰는지에 따라 다른 결과를 가져올 수 있다.
순서가 있는 데이터 유형 : 리스트와 튜플은 요소(element)를 정의한 순서대로 저장한다. 따라서 요소에 대한 인덱스를 사용하여 접근할 수 있다.
인덱싱과 슬라이싱 : 리스트와 튜플은 요소에 인덱스를 사용하여 접근할 수 있으며, 슬라이싱을 사용하여 일부 요소를 추출할 수 있다. 이를 통해 데이터의 일부를 선택하는 데 유용하다.
my_list = [1, 2, 3, 4, 5]
my_tuple = (10, 20, 30, 40, 50)
element = my_list[2] # 리스트 요소에 접근
subset = my_tuple[1:4] # 튜플에서 일부 요소 추출
for item in my_list:
print(item)
for item in my_tuple:
print(item)
여러 데이터 유형 저장 가능 : 리스트와 튜플은 여러 데이터 유형을 포함할 수 있다. 즉, 숫자, 문자열, 다른 리스트 또는 튜플과 같은 다양한 유형의 데이터를 저장할 수 있다.
길이 확인 가능 : 리스트와 튜플의 길이(요소의 수)를 len() 함수를 사용하여 확인할 수 있다.
list_length = len(my_list)
tuple_length = len(my_tuple)
이러한 공통점은 리스트와 튜플이 데이터를 순서대로 저장하고 접근할 수 있으며, 반복 및 다양한 데이터 유형을 다루기 위해 사용할 수 있는 유용한 데이터 구조임을 보여준다.
가변 (Mutable) : List는 가변 데이터 유형이다. 이것은 리스트의 내용을 변경할 수 있다는 것을 의미한다. 새로운 요소를 추가하거나 기존 요소를 제거, 수정할 수 있다.
대괄호 [ ] 사용 : List는 대괄호를 사용하여 요소를 정의하고 나열한다.
데이터 변경 가능 : 리스트 내부의 요소를 변경할 수 있으며, 인덱스를 통해 요소에 접근할 수 있다.
my_list = [1, 2, 3]
my_list.append(4) # 요소 추가
my_list[1] = 5 # 요소 수정
my_list.remove(2) # 요소 제거
불변 (Immutable) : Tuple은 불변 데이터 유형이다. 이것은 튜플을 한 번 정의하면 그 내용을 변경할 수 없다는 것을 의미한다. 따라서 요소를 추가, 제거 또는 수정할 수 없다.
소괄호 ( ) 사용 (선택사항) : Tuple은 괄호를 사용하지 않고 요소를 나열할 수 있고 괄호는 선택사항이다.
데이터 변경 불가능 : 튜플 내부의 요소를 변경할 수 없으며, 인덱스를 통해 요소에 접근할 수 있다.
my_tuple = (1, 2, 3)
element = my_tuple[1] # 요소에 접근
# my_tuple[1] = 5 # 이렇게 요소를 변경하려고 하면 에러 발생
요소를 추가, 제거, 수정해야 할 때 또는 순서가 중요한 데이터를 저장할 때 사용.
데이터가 변경되지 않아야 하거나, 함수에서 여러 값을 반환할 때 사용. 또한, 더 안전한 데이터 구조가 필요한 경우에도 사용될 수 있다.