본문 바로가기
Data & Programming/Python

[Python] 파이썬의 자료구조 : 튜플, 리스트, 딕셔너리

by 눈부셔™ 2023. 9. 16.
728x90

[Python] 파이썬의 자료구조 : 튜플, 리스트, 딕셔너리

파이썬은 데이터를 다루는데 필수적인 여러가지 자료구조를 제공합니다. 

이 자료구조들은 데이터를 저장, 조작 및 검색하는 데 필수적입니다.

이 블로그에서는 파이썬의 튜플(Tuple), 리스트(List), 딕셔너리(Dictionary)에 대해 알아보겠습니다.

파이썬의 자료구조 : 튜플, 리스트, 딕셔너리

튜플 (Tuple)

  • 튜플은 변경이 불가능한(immutable) 데이터 구조로, 여러 요소를 저장할 수 있습니다.
  • 괄호 ( )를 사용하여 튜플을 생성하며, 각 요소는 콤마 ,로 구분합니다.

예제

1
2
3
4
5
6
7
8
# 튜플 생성
my_tuple = (12345)
 
# 인덱싱
print(my_tuple[0])  # 1 출력
 
# 슬라이싱
print(my_tuple[1:4])  # (2, 3, 4) 출력

튜플 언패킹을 사용하여 여러 변수에 값을 할당할 수 있습니다.

1
2
a, b, c, d, e = my_tuple
print(a)  # 출력: 1

튜플은 딕셔너리의 키로 사용될 수 있습니다.

1
2
3
# 튜플을 키로 갖는 딕셔너리
point = {(01): "A", (23): "B"}
print(point[(01)])  # 출력: A

 

튜플은 변경할 필요가 없는 데이터를 저장할 때 사용되고, 이로 인해 안전하고 빠르게 사용할 수 있습니다.
함수에서 여러 값을 반환할 때 튜플을 활용할 수 있습니다.
튜플 언패킹을 활용하면 여러 변수에 값을 효율적으로 할당할 수 있습니다.

 

튜플 연습문제

  1. 다음 튜플에서 마지막 요소를 출력해보세요: my_tuple = (10, 20, 30, 40, 50)
  2. 두 개의 튜플을 합쳐 새로운 튜플을 생성해보세요: tuple1 = (1, 2, 3)와 tuple2 = (4, 5, 6)
  3. 튜플을 이용하여 이름과 나이를 저장하고, 이 정보를 출력하는 함수를 작성해보세요.

 

튜플 연습문제 답

  1. print(my_tuple[-1])을 사용하여 마지막 요소를 출력할 수 있습니다.
  2. new_tuple = tuple1 + tuple2로 두 튜플을 합칠 수 있습니다.
  3. 아래와 같이 함수를 작성할 수 있습니다.
1
2
3
4
5
6
def print_person_info(person):
    name, age = person
    print(f"이름: {name}, 나이: {age}")
 
person_info = ("눈부셔"44)
print_person_info(person_info)  # 결과: 이름: 눈부셔, 나이: 44

 

 

 

리스트(List)

  • 리스트는 변경 가능한(mutable) 데이터 구조로, 순서가 있는 여러 값을 저장할 수 있습니다.
  • 대괄호 [ ]를 사용하여 리스트를 생성하며, 각 요소는 콤마 ,로 구분합니다.

예제

1
2
3
4
5
6
7
8
9
10
11
# 리스트 생성
my_list = [12345]
 
# 요소 추가
my_list.append(6)  # [1, 2, 3, 4, 5, 6]
 
# 요소 제거
my_list.remove(3)  # [1, 2, 4, 5, 6]
 
# 인덱싱
print(my_list[0])  # 1 출력

 

리스트는 동적으로 크기가 조절되며, 여러 가지 데이터를 저장할 때 사용됩니다.
데이터의 순서를 중요하게 다루어야 할 때 유용합니다.
리스트는 변경 가능하기 때문에 요소를 추가, 수정, 삭제할 수 있습니다.

 

리스트 연습문제

  1. 주어진 리스트에서 3의 개수를 세어보세요: my_list = [3, 1, 3, 4, 2, 3, 5]
  2. 리스트에서 중복된 값을 제거해보세요: my_list = [1, 2, 2, 3, 4, 4, 5]
  3. 빈 리스트를 생성하고, 사용자로부터 값을 입력받아 리스트에 추가하는 프로그램을 작성해보세요.

 

리스트 연습문제 답

  1. my_list.count(3)을 사용하여 3의 개수를 세어볼 수 있습니다.
  2. list(set(my_list))을 사용하여 중복된 값을 제거할 수 있습니다.
  3. 아래와 같이 프로그램을 작성할 수 있습니다.
1
2
3
4
5
6
7
my_list = []
while True:
    value = input("값을 입력하세요 (종료하려면 'q' 입력): ")
    if value == 'q':
        break
    my_list.append(value)
print("입력한 값들:", my_list)

 

반응형

 

딕셔너리(Dictionary)

  • 딕셔너리는 키(key)와 값(value)을 연결하는 데이터 구조로, 순서가 없습니다.
  • 중괄호 { }를 사용하여 딕셔너리를 생성하며, key: value 형태로 데이터를 저장합니다.

예제

1
2
3
4
5
6
7
8
# 딕셔너리 생성
my_dict = {'이름''눈부셔''나이'34'직업''은행원'}
 
# 값 업데이트
my_dict['나이'= 44  # {'이름': '눈부셔', '나이': 44, '직업': '은행원'}
 
# 키로 값 가져오기
print(my_dict['이름'])  # '눈부셔' 출력

 

딕셔너리 연습문제

주어진 딕셔너리에서 다음을 해결하세요.

1
student_scores = {'Alice'85'Bob'72'Charlie'92'David'88}
  1.  'Alice'의 점수를 출력하세요.
  2. 가장 높은 점수를 가진 학생의 이름을 찾아 출력하세요.
  3.  'Eve'라는 학생을 추가하고, 그 학생의 점수를 95로 설정하세요.
  4.  'Bob' 학생의 점수를 삭제하세요.
  5. 딕셔너리의 키(key)를 모두 출력하세요.

 

딕셔너리 연습문제 답

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#1. 'Alice'의 점수를 출력하세요.
print(student_scores['Alice'])
 
 
#2. 가장 높은 점수를 가진 학생의 이름을 찾기 위해 다음과 같이 코드를 사용할 수 있습니다.
highest_score = max(student_scores.values())
for name, score in student_scores.items():
    if score == highest_score:
        print(name)
 
#3. 'Eve' 학생을 추가하고 점수를 설정
student_scores['Eve'= 95
 
#4. 'Bob' 학생의 점수를 삭제
del student_scores['Bob']
 
#5. 딕셔너리의 모든 키(key)를 출력
for key in student_scores:
    print(key)

 

 

#파이썬  #프로그래밍  #코딩  #데이터분석  #파이썬 튜플  #파이썬 리스트  #파이썬 딕셔너리  #파이썬 자료구조  #파이썬 데이터구조  #파이썬 연습문제

728x90