728x90
[Python] 파이썬의 자료구조 : 튜플, 리스트, 딕셔너리
파이썬은 데이터를 다루는데 필수적인 여러가지 자료구조를 제공합니다.
이 자료구조들은 데이터를 저장, 조작 및 검색하는 데 필수적입니다.
이 블로그에서는 파이썬의 튜플(Tuple), 리스트(List), 딕셔너리(Dictionary)에 대해 알아보겠습니다.
튜플 (Tuple)
- 튜플은 변경이 불가능한(immutable) 데이터 구조로, 여러 요소를 저장할 수 있습니다.
- 괄호 ( )를 사용하여 튜플을 생성하며, 각 요소는 콤마 ,로 구분합니다.
예제
1
2
3
4
5
6
7
8
|
# 튜플 생성
my_tuple = (1, 2, 3, 4, 5)
# 인덱싱
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 = {(0, 1): "A", (2, 3): "B"}
print(point[(0, 1)]) # 출력: A
|
튜플은 변경할 필요가 없는 데이터를 저장할 때 사용되고, 이로 인해 안전하고 빠르게 사용할 수 있습니다. 함수에서 여러 값을 반환할 때 튜플을 활용할 수 있습니다. 튜플 언패킹을 활용하면 여러 변수에 값을 효율적으로 할당할 수 있습니다. |
튜플 연습문제
- 다음 튜플에서 마지막 요소를 출력해보세요: my_tuple = (10, 20, 30, 40, 50)
- 두 개의 튜플을 합쳐 새로운 튜플을 생성해보세요: tuple1 = (1, 2, 3)와 tuple2 = (4, 5, 6)
- 튜플을 이용하여 이름과 나이를 저장하고, 이 정보를 출력하는 함수를 작성해보세요.
튜플 연습문제 답
- print(my_tuple[-1])을 사용하여 마지막 요소를 출력할 수 있습니다.
- new_tuple = tuple1 + tuple2로 두 튜플을 합칠 수 있습니다.
- 아래와 같이 함수를 작성할 수 있습니다.
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 = [1, 2, 3, 4, 5]
# 요소 추가
my_list.append(6) # [1, 2, 3, 4, 5, 6]
# 요소 제거
my_list.remove(3) # [1, 2, 4, 5, 6]
# 인덱싱
print(my_list[0]) # 1 출력
|
리스트는 동적으로 크기가 조절되며, 여러 가지 데이터를 저장할 때 사용됩니다. 데이터의 순서를 중요하게 다루어야 할 때 유용합니다. 리스트는 변경 가능하기 때문에 요소를 추가, 수정, 삭제할 수 있습니다. |
리스트 연습문제
- 주어진 리스트에서 3의 개수를 세어보세요: my_list = [3, 1, 3, 4, 2, 3, 5]
- 리스트에서 중복된 값을 제거해보세요: my_list = [1, 2, 2, 3, 4, 4, 5]
- 빈 리스트를 생성하고, 사용자로부터 값을 입력받아 리스트에 추가하는 프로그램을 작성해보세요.
리스트 연습문제 답
- my_list.count(3)을 사용하여 3의 개수를 세어볼 수 있습니다.
- list(set(my_list))을 사용하여 중복된 값을 제거할 수 있습니다.
- 아래와 같이 프로그램을 작성할 수 있습니다.
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}
|
- 'Alice'의 점수를 출력하세요.
- 가장 높은 점수를 가진 학생의 이름을 찾아 출력하세요.
- 'Eve'라는 학생을 추가하고, 그 학생의 점수를 95로 설정하세요.
- 'Bob' 학생의 점수를 삭제하세요.
- 딕셔너리의 키(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
'Data & Programming > Python' 카테고리의 다른 글
[Python] 파이썬의 오류(Error)와 예외처리(Exception Handling) (197) | 2023.09.19 |
---|---|
[Python] 파이썬 함수와 클래스: 모듈화와 객체지향 프로그래밍의 핵심 (203) | 2023.09.18 |
[Python] 파이썬 조건문과 반복문: 제어 구조와 반복적인 작업 (120) | 2023.09.17 |
[Python] 파이썬(Python)과 주요 라이브러리 설치방법 (0) | 2023.08.02 |
[Python] 파이썬(Python)을 공부해야 하는 이유 (0) | 2023.07.29 |