list & tuple

혜쿰·2023년 10월 12일
0
post-thumbnail

list와 tuple은 언뜻 보기에 비슷하지만 경우에 따라 list를 쓰는지 tuple을 쓰는지에 따라 다른 결과를 가져올 수 있다.

📎 공통점

  1. 순서가 있는 데이터 유형 : 리스트와 튜플은 요소(element)를 정의한 순서대로 저장한다. 따라서 요소에 대한 인덱스를 사용하여 접근할 수 있다.

  2. 인덱싱과 슬라이싱 : 리스트와 튜플은 요소에 인덱스를 사용하여 접근할 수 있으며, 슬라이싱을 사용하여 일부 요소를 추출할 수 있다. 이를 통해 데이터의 일부를 선택하는 데 유용하다.

my_list = [1, 2, 3, 4, 5]
my_tuple = (10, 20, 30, 40, 50)

element = my_list[2]     # 리스트 요소에 접근
subset = my_tuple[1:4]   # 튜플에서 일부 요소 추출
  1. 반복 가능(Iterable) : 리스트와 튜플은 for 루프와 같은 반복 구조에서 사용할 수 있는 반복 가능한(iterable) 데이터 유형이다. 이를 통해 데이터를 반복적으로 처리할 수 있다.
for item in my_list:
    print(item)

for item in my_tuple:
    print(item)
  1. 여러 데이터 유형 저장 가능 : 리스트와 튜플은 여러 데이터 유형을 포함할 수 있다. 즉, 숫자, 문자열, 다른 리스트 또는 튜플과 같은 다양한 유형의 데이터를 저장할 수 있다.

  2. 길이 확인 가능 : 리스트와 튜플의 길이(요소의 수)를 len() 함수를 사용하여 확인할 수 있다.

list_length = len(my_list)
tuple_length = len(my_tuple)
  1. 중복이 가능 : 리스트(list)와 튜플(tuple)은 모두 중복된 항목을 포함할 수 있다. 중복이 가능한 데이터 구조이다. 이것은 리스트와 튜플이 순서가 있는 시퀀스 데이터 타입이라는 공통점을 갖고 있으며, 동일한 요소가 여러 번 나타날 수 있다는 것을 의미한다.




이러한 공통점은 리스트와 튜플이 데이터를 순서대로 저장하고 접근할 수 있으며, 반복 및 다양한 데이터 유형을 다루기 위해 사용할 수 있는 유용한 데이터 구조임을 보여준다.

📎 차이점

📘 List

  1. 가변 (Mutable) : List는 가변 데이터 유형이다. 이것은 리스트의 내용을 변경할 수 있다는 것을 의미한다. 새로운 요소를 추가하거나 기존 요소를 제거, 수정할 수 있다.

  2. 대괄호 [ ] 사용 : List는 대괄호를 사용하여 요소를 정의하고 나열한다.

  3. 데이터 변경 가능 : 리스트 내부의 요소를 변경할 수 있으며, 인덱스를 통해 요소에 접근할 수 있다.

my_list = [1, 2, 3]
my_list.append(4)      # 요소 추가
my_list[1] = 5         # 요소 수정
my_list.remove(2)      # 요소 제거

📘 Tuple

  1. 불변 (Immutable) : Tuple은 불변 데이터 유형이다. 이것은 튜플을 한 번 정의하면 그 내용을 변경할 수 없다는 것을 의미한다. 따라서 요소를 추가, 제거 또는 수정할 수 없다.

  2. 소괄호 ( ) 사용 (선택사항) : Tuple은 괄호를 사용하지 않고 요소를 나열할 수 있고 괄호는 선택사항이다.

  3. 데이터 변경 불가능 : 튜플 내부의 요소를 변경할 수 없으며, 인덱스를 통해 요소에 접근할 수 있다.

my_tuple = (1, 2, 3)
element = my_tuple[1]  # 요소에 접근
# my_tuple[1] = 5     # 이렇게 요소를 변경하려고 하면 에러 발생

📎 이용 사례

📘 List

요소를 추가, 제거, 수정해야 할 때 또는 순서가 중요한 데이터를 저장할 때 사용.

📘 Tuple

데이터가 변경되지 않아야 하거나, 함수에서 여러 값을 반환할 때 사용. 또한, 더 안전한 데이터 구조가 필요한 경우에도 사용될 수 있다.

0개의 댓글