[PythonBasic] Tuples

Alex of the year 2020 & 2021·2020년 6월 29일
0

Python

목록 보기
7/18
post-thumbnail

Tuple

List와 달리 각 요소를 수정할 수 없는 특징을 가지는 Data Structure
선언 시, ()를 이용 ex. my_tuple = (1, 2, 3)
일반적으로 1~5개 내외의 요소 저장 시 사용됨
특정 데이터를 ad hoc(즉석으로)하게 표현하고 싶을 때 사용
🍎 좌표 평면에서의 점을 나타낼 때 사용
위의 경우, 리스트보다 튜플을 사용하는 것이 훨씬 효과적인데 그 이유는

  1. 리스트를 이용할 경우, 값이 변경될 염려가 있다
  2. 리스트가 상대적으로 메모리 용량이 더 크므로, 튜플을 쓰는 것이 메모리 관리 차원에서 효율적이다.

아래는 내가 풀었던 튜플 문제와 나의 답안이다

문제 분석
1. 먼저 tuples를 요소로 가지는 "리스트"를 리턴하는 것(요소: tuples, 전체: list)
2. 리스트에 있는 요소들을 (), (), () 튜플 모양으로 잘라서
3. 리스트 속에 요소 단위로 넣자

def convert_list_to_list_of_tuples(my_list):
 tuple_a = tuple(my_list[0:2])
 tuple_b = tuple(my_list[2:4])
 tuple_c = tuple(my_list[4:6])
 
 a= [tuple_a, tuple_b, tuple_c]
 return a 

언뜻 간단해보이는 이 답을 내기까지 힘들었던 것은
리턴 직전의 a=[tuple_a, tuple_b, tuple_c] 부분에서
자꾸만 a = [tuple_a+tuple_b+tuple_c] 라고 써서,
요소 요소간의 (소괄호) 가 사라지고 그냥 [1, 2, 3, 4, 5, 6]이라고 구현되는 것이었다. ㅠㅠ

그리고 아래는 모델 앤써

def convert_list_to_list_of_tuples(my_list):
  my_tuples = [ ]
  my_tuples.append((my_list[0], my_list[1]))
  my_tuples.append((my_list[2], my_list[3]))
  my_tuples.append((my_list[4], my_list[5]))
  
  return my_tuples

빈 리스트를 하나 먼저 선언해 놓은 후
빈 리스트에 append 함수를 이용하여 요소를 붙이는 형식으로 접근했다.

(append()를 사용하면서 속에 요소 값으로 my_list[0], my_list[1] 식으로 +가 아니라 ,로 엮는 것도 주의해야겠다.)

profile
Backend 개발 학습 아카이빙 블로그입니다. (현재는 작성하지 않습니다.)

0개의 댓글