본문 바로가기
  • NerdCodX Blog
파이썬(Python)

Python Day 4: 파이썬 리스트와 튜플 - 데이터 관리의 핵심

by NerdCodeX 2025. 1. 23.

1. 리스트와 튜플이란?

안녕하세요! 오늘은 파이썬에서 데이터를 저장하고 관리하는 데 가장 자주 사용되는 두 가지 데이터 구조인 리스트(List)와 튜플(Tuple)에 대해 알아보겠습니다. 이 글에서는 리스트와 튜플의 차이점, 주요 메서드 활용법, 그리고 리스트 컴프리헨션(List Comprehension)을 다룰 예정입니다. 실습을 통해 숫자 리스트에서 최대값과 최소값을 구하며 실제 응용력을 키워보세요.

 

리스트(List)

  • 가변형 데이터 구조로, 데이터를 추가, 삭제, 수정할 수 있습니다.
  • 대괄호([ ])를 사용해 선언합니다.
  • 예제: 
  • fruits = ["사과", "바나나", "체리"]

튜플(Tuple)

  • 불변형 데이터 구조로, 데이터를 수정할 수 없습니다.
  • 소괄호(( ))를 사용해 선언합니다.
  • 예제:
    colors = ("빨강", "파랑", "초록")
    

 

리스트와 튜플의 차이점

특징 리스트(List) 튜플(Tuple)

수정 가능 여부 가능 불가능
선언 방법 대괄호([ ]) 사용 소괄호(( )) 사용
속도 상대적으로 느림 상대적으로 빠름
사용 용도 데이터 추가/수정이 필요한 경우 고정된 데이터 관리 시 사용

2. 리스트와 튜플 주요 메서드

리스트 메서드

리스트는 데이터를 조작하기 위한 다양한 메서드를 제공합니다. 아래는 자주 사용하는 메서드들입니다.

  1. append(): 리스트 끝에 새로운 요소를 추가합니다.
  2. fruits = ["사과", "바나나"] fruits.append("체리") print(fruits) # ['사과', '바나나', '체리']
  3. remove(): 리스트에서 특정 값을 제거합니다.
  4. fruits.remove("바나나") print(fruits) # ['사과', '체리']
  5. index(): 특정 값의 첫 번째 인덱스를 반환합니다.
  6. index = fruits.index("사과") print(index) # 0
  7. count(): 리스트에서 특정 값의 개수를 반환합니다.
  8. numbers = [1, 2, 2, 3, 4] print(numbers.count(2)) # 2

튜플 메서드

튜플은 불변형 데이터 구조이므로 제공되는 메서드가 제한적입니다.

  1. index(): 특정 값의 첫 번째 인덱스를 반환합니다.
  2. colors = ("빨강", "파랑", "초록") print(colors.index("파랑")) # 1
  3. count(): 튜플에서 특정 값의 개수를 반환합니다.
  4. print(colors.count("빨강")) # 1

3. 리스트 컴프리헨션 (List Comprehension)

리스트 컴프리헨션은 기존 리스트에서 조건이나 연산을 적용하여 새로운 리스트를 생성하는 간결한 방법입니다.

 

기본 구조

[표현식 for 항목 in 반복가능객체 if 조건]

예제 1: 기본 리스트 컴프리헨션

numbers = [1, 2, 3, 4, 5]
squared_numbers = [x**2 for x in numbers]
print(squared_numbers)  # [1, 4, 9, 16, 25]

예제 2: 조건을 포함한 리스트 컴프리헨션

even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)  # [2, 4]

리스트 컴프리헨션을 활용하면 짧고 간결하게 리스트를 생성할 수 있습니다.


4. 실습: 숫자 리스트에서 최대값과 최소값 구하기

문제 설명

사용자로부터 숫자 리스트를 입력받아, 최대값과 최소값을 구하는 프로그램을 작성합니다.

코드

# 사용자 입력 받기
numbers = input("숫자들을 콤마로 구분해 입력하세요 (예: 1,2,3,4): ")
numbers = [int(x) for x in numbers.split(",")]

# 최대값과 최소값 계산
max_value = max(numbers)
min_value = min(numbers)

# 결과 출력
print(f"최대값: {max_value}")
print(f"최소값: {min_value}")

실행 예시

숫자들을 콤마로 구분해 입력하세요 (예: 1,2,3,4): 10,20,30,5
최대값: 30
최소값: 5

5. 실습 과제

  1. 리스트에서 중복 제거하기
    • 사용자 입력을 받아 중복된 값을 제거한 리스트를 출력하세요.
    numbers = input("숫자를 입력하세요 (예: 1,2,2,3): ")
    unique_numbers = list(set(numbers.split(",")))
    print(f"중복 제거 결과: {unique_numbers}")
    
  2. 튜플에서 특정 값 찾기
    • 고정된 튜플에서 사용자가 입력한 값의 인덱스를 출력하세요.
    colors = ("빨강", "파랑", "초록")
    value = input("찾고 싶은 색상을 입력하세요: ")
    if value in colors:
        print(f"{value}의 인덱스: {colors.index(value)}")
    else:
        print("해당 값이 튜플에 없습니다.")
    
  3. 리스트 컴프리헨션 활용
    • 1부터 20까지의 숫자 중 짝수만 포함된 리스트를 생성하세요.

even_numbers = [x for x in range(1, 21) if x % 2 == 0] print(even_numbers)


 

리스트와 튜플은 파이썬에서 데이터를 관리하는 데 매우 중요한 역할을 합니다. 이 가이드를 통해 두 데이터 구조의 차이점과 활용 방법을 배웠으며, 실습을 통해 직접 적용하는 법도 익히셨을 겁니다. 더 궁금한 점이나 의견이 있다면 댓글로 남겨주세요. 여러분의 파이썬 학습을 응원합니다!

 

 

 

Python Day 2 : 파이썬 변수와 데이터 타입 완벽 가이드 - 초보자를 위한 쉬운 설명과 실습

안녕하세요! 오늘은 파이썬 프로그래밍의 핵심 개념 중 하나인 변수와 데이터 타입에 대해 알아봅니다. 변수를 통해 데이터를 저장하고, 다양한 데이터 타입을 활용하며, 이를 다른 타입으로 변

nerdcodex.tistory.com

 

 

 

Python Day 3: 파이썬 문자열 다루기 - 인덱싱, 슬라이싱, 메서드 활용의 모든 것

1. 문자열이란 무엇인가요?안녕하세요! 오늘은 파이썬 프로그래밍에서 가장 자주 사용되는 데이터 타입 중 하나인 문자열(String)에 대해 알아보겠습니다. 문자열은 문자의 집합으로, 텍스트 데이

nerdcodex.tistory.com