파이썬 기초 #2. 데이터 다루기 (리스트, 사전, 조건문, 반복문)

프로그래밍의 핵심은 데이터를 다루는 데 있어요. 데이터를 저장하고, 조건에 따라 처리하며, 반복적인 작업을 자동화하는 법을 배우는 것은 파이썬의 기초를 다지는 가장 중요한 단계예요.

Codeit
2025.01.15

코딩 지식, 한 단계 더 올려볼까요?

코드잇 강의로 더 깊이 
있는 학습을 시작하세요.

파이썬 기본 개념 한눈에 정리 2. 데이터 다루는 법

파이썬 데이터 다루기

프로그래밍의 핵심은 데이터를 다루는 데 있어요. 데이터를 저장하고, 조건에 따라 처리하며, 반복적인 작업을 자동화하는 법을 배우는 것은 파이썬의 기초를 다지는 가장 중요한 단계예요. 오늘은 데이터를 효율적으로 관리하는 법과, 복잡한 조건을 간단히 코드로 표현하는 법, 반복적인 작업을 깔끔하게 처리하는 방법을 알아볼게요.



1. 리스트와 사전: 데이터를 체계적으로 관리하는 방법

리스트사전데이터를 효율적으로 저장하고 관리할 수 있는 파이썬의 핵심 자료형이에요.

리스트는 순서대로 데이터를 저장하며, 사전은 키-값 쌍으로 데이터를 관리해요. 리스트는 반복 처리에, 사전은 데이터 검색과 조직화에 유용해요. 이 두 자료형은 데이터를 다루는 기초로, 파이썬 프로그래밍의 다양한 응용을 이해하고 실습하는 데 필수적이에요.

1.1. 리스트

파이썬 리스트

리스트는 데이터를 원하는 순서대로 정리할 수 있는 자료형이에요. 예를 들어 친구들 이름을 저장하거나, 쇼핑 목록을 만들 때 사용할 수 있어요. 리스트 안에 여러 값을 넣고, 인덱스를 이용해 각각의 값을 가져올 수도 있어요.

리스트 만들기

정수형 2, 3, 5, 7, 11, 13을 갖고 있는 숫자 리스트와, 문자열 "윤수", 문자열 "혜린", 문자열 "태호", 문자열 "영훈"을 담고 있는 문자열 리스트를 만들어 볼게요. 보시다시피 대괄호로 시작하고 값들을 쉼표로 나눠 주고 대괄호로 끝내면 됩니다.

# 숫자 리스트 만들기 numbers = [2, 3, 5, 7, 11] # 문자열 리스트 만들기 names = ["윤수", "혜린", "태호", "영훈"]

숫자 리스트는 numbers 리스트, 문자열 리스트는 names 리스트가 되는 거죠. 그리고 여기 리스트에 있는 하나 하나의 값들을, 리스트의 "요소"라고 불러요.


인덱싱(Indexing)으로 값 가져오기

파이썬에서 리스트의 요소를 하나씩 가져오는 방법을 인덱싱(Indexing)이라고 해요. 인덱싱은 리스트에서 특정 위치에 있는 값을 가져올 때 사용되며, 대괄호([])를 통해 요소의 위치를 지정해요.


기본 인덱싱

리스트의 요소는 0번 인덱스부터 시작해요. 따라서 첫 번째 요소는 0, 두 번째 요소는 1... 이렇게 접근할 수 있답니다.

names = ["윤수", "혜린", "태호", "영훈"] print(names[0]) # 출력: 윤수 print(names[1]) # 출력: 혜린


인덱스를 활용한 연산

인덱싱으로 가져온 값은 연산에 활용할 수도 있어요.

numbers = [2, 3, 5, 7, 11, 13] result = numbers[1] + numbers[3] # 3 + 7 print(result) # 출력: 10


범위를 벗어난 인덱싱

리스트의 인덱스를 범위 밖으로 지정하면 오류가 발생해요. 예를 들어, 인덱스가 5까지만 있는 리스트에서 인덱스 6을 사용하면 아래와 같은 에러가 나타납니다.

print(numbers[6]) # 오류: list index out of range


마이너스 인덱싱

파이썬에서는 마이너스 인덱스를 사용해 리스트의 뒤에서부터 접근할 수도 있어요.

  • 1: 마지막 요소
  • 2: 끝에서 두 번째 요소
print(numbers[-1]) # 출력: 13 print(numbers[-2]) # 출력: 11

마이너스 인덱스도 범위를 벗어나면 오류가 발생하니 주의하세요.

print(numbers[-7]) # 오류: list index out of range


리스트 내용 요약

  • 인덱싱은 리스트의 특정 요소를 가져올 때 사용해요.
  • 파이썬의 인덱스는 0부터 시작하며, 뒤에서 접근하려면 마이너스 인덱스를 사용하면 돼요.
  • 범위를 벗어난 인덱스는 에러를 발생시키므로 항상 리스트의 길이를 고려해야 해요.

1.2. 사전(Dictionary)

파이썬 사전

여러 값을 모아 놓을 수 있는 자료형으로 파이썬에는 또 사전, 영어로는 dictionary란 게 있어요.

사전은 키(Key)와 값(Value)이 한 쌍(Pair)을 이루는 구조로 되어 있어요. 마치 실제 사전에서 단어와 뜻이 연결된 것처럼, 파이썬 사전에서도 키와 값이 연결돼요.

# 사전 (dictionary) # key-value pair (키-값 쌍)


사전 만들기

사전을 생성하려면 중괄호({})를 사용하고, 키와 값을 콜론(:)으로 구분한 뒤, 각 쌍을 쉼표로 나눠요.

my_dictionary = { 5: 25, 2: 4, 3: 9 }

이 코드에서 키는 5, 2, 3이고, 값은 25, 4, 9 이겠죠? 자, 사전을 만들었는데, type을 출력하면, dict 라고 나올 거예요. Dictionary를 줄인 거겠죠? my_dictionary 변수가 담고 있는 값은, 사전 자료형인 거죠.

print(type(my_dictionary)) # 출력: <class 'dict'>


값 가져오기

사전에서 값을 가져오려면 키를 대괄호([]) 안에 넣어주세요. 예를 들어서 my_dictionary에 키 3에 연결된 값 9를 받아 올 수 있어요.

print(my_dictionary[3]) # 출력: 9


새로운 쌍 추가

사전에 새로운 키-값 쌍을 추가하려면 대괄호 안에 원하는 키를 쓰고 값을 지정해 주면 됩니다.

my_dictionary[9] = 81


사전과 리스트의 차이점

사전과 리스트는 모두 여러 값을 저장할 수 있지만, 몇 가지 차이가 있어요.

  • 키(Key)의 유연성

    • 리스트는 0, 1, 2처럼 정수형 인덱스만 사용 가능하지만, 사전은 숫자뿐만 아니라 문자열 등 다양한 자료형을 키로 사용할 수 있어요.
    my_family = { '엄마': '김자옥', '아빠': '이석진', '아들': '이동민', '딸': '이지영' } print(my_family['아빠']) # 출력: 이석진
  • 순서

    • 리스트는 요소가 순서대로 저장되지만, 사전은 순서와 상관없이 키-값 쌍으로 관리돼요.


사전(Dictionary) 내용 요약

  • 사전은 키와 값의 쌍으로 이루어진 자료형이에요.
  • 리스트와 달리 키는 정수 외에 문자열 등도 사용할 수 있어요.
  • 데이터가 많거나 키를 통해 값에 빠르게 접근해야 할 때 유용하게 활용할 수 있어요.



2. 조건문: 조건에 따른 흐름 제어

파이썬 조건문

조건문특정 조건에 따라 코드의 실행 흐름을 제어하는 프로그래밍 구조예요.

조건이 참(True)일 때만 수행할 코드를 실행하며, 기본적으로 if, elif, else를 사용해 다양한 상황에 맞는 동작을 설정할 수 있어요. 상황별 처리가 필요할 때 필수적으로 사용돼요.

2.1. if문

우리는 하루에도 수백 번 선택의 기로에 서요. 예를 들어, 날씨가 춥다면 자켓을 입고, 덥다면 반팔을 입죠. 이런 결정을 내릴 때 머릿속에서 논리적으로 생각하는 과정을 프로그래밍에서도 활용할 수 있어요.

파이썬에서는 이런 "만약~이라면"이라는 논리를 if문으로 표현해요. 상황에 따라 다르게 작동하는 프로그램을 만들고 싶다면 꼭 알아야 하는 개념이에요.


if문의 기본 구조

if문은 특정 조건이 참(True)일 때만 수행 부분을 실행해요. 기본적인 구조는 아래와 같아요.

if 조건 부분: 수행 부분
  • 조건 부분: 조건을 검사하는 곳이에요. 결과가 참(True)인지 거짓(False)인지 확인해요.
  • 수행 부분: 조건이 참일 때 실행할 코드를 작성해요.
  • 콜론(:): 조건 끝에 꼭 붙여야 해요.
  • 들여쓰기: 수행 부분을 들여써야 if문에 속한 코드라는 걸 알려줄 수 있어요.


예시: 온도에 따라 자켓 입기

이 코드에서 temperature 값이 8이라면, temperature <= 10 조건은 참(True)이에요. 따라서 "자켓을 입으세요."가 출력돼요.

temperature = 8 # 현재 온도를 저장하는 변수 if temperature <= 10: # 온도가 10도 이하라면 print("자켓을 입으세요.") # 이 메시지가 출력돼요.


2.2. else문

조건이 거짓(False)일 경우에도 다른 행동을 하고 싶다면 else문을 사용하면 돼요. temperature 값이 16이므로, 조건이 거짓이고 else문이 실행돼요.

temperature = 16 if temperature <= 10: print("자켓을 입으세요.") else: print("자켓을 입지 않아도 돼요.")


2.3. 여러 조건을 처리하는 elif문

조건이 여러 개라면 어떻게 해야 할까요? 이럴 때는 elif문을 사용해요. temperature 값이 13이므로 첫 번째 조건은 거짓, 두 번째 조건은 참이에요.

temperature = 13 if temperature <= 10: print("자켓을 입으세요.") elif temperature <= 15: print("긴팔을 입으세요.") else: print("반팔을 입으세요.")


조건문을 활용한 예제: 성적 계산기

if문과 elif문을 사용하면 성적을 계산하는 프로그램도 만들 수 있어요. 점수(score)가 85점이므로 두 번째 조건이 참이에요.

score = 85 if score >= 90: print("A학점입니다.") elif score >= 80: print("B학점입니다.") elif score >= 70: print("C학점입니다.") elif score >= 60: print("D학점입니다.") else: print("F학점입니다.")



3. 반복문: 반복적인 작업을 처리하는 방법

파이썬 반복문

반복문같은 작업을 반복적으로 실행할 때 사용해요.

반복문을 사용하면 코드를 더 간단하고 효율적으로 작성할 수 있어요. 대표적인 반복문으로는 조건이 참일 때 계속 실행되는 while문과, 주어진 데이터를 순서대로 처리하는 for문이 있어요. 반복문은 데이터 처리, 조건에 맞는 값 찾기, 작업 자동화 등 다양한 상황에서 유용하게 사용돼요.


3.1. while 반복문

while 반복문은 조건이 참(True)인 동안 특정 코드를 반복해서 실행하는 명령어예요. 조건이 충족되면 수행 부분이 실행되고, 조건이 거짓(False)이 되면 반복을 멈추게 돼요. 반복 작업이 필요할 때 특히 유용한 도구랍니다.


while 반복문의 기본 구조

while 조건 부분: 수행 부분
  • 조건 부분: 불린 값으로 계산되는 식이에요. 반복을 계속할지 결정해요. 여기엔 TrueFalse로 평가되는 조건이 들어가요.
  • 수행 부분: 조건이 True일 때 실행되는 코드예요. 들여쓰기를 통해 블록을 구성해야 해요.


while 반복문의 동작 방식

  1. 조건 부분을 먼저 확인해요.
    • 조건이 True라면 수행 부분을 실행해요.
    • 조건이 False라면 반복문을 종료해요.
  2. 수행 부분이 끝나면 다시 조건 부분을 확인해요.
  3. 이 과정을 조건이 False가 될 때까지 반복해요.


예시: 문자열 반복 출력하기

i = 1 while i <= 3: print("나는 잘생겼다!") i += 1
  • 처음 i1이에요.
  • 조건 i <= 3이 참일 동안 "나는 잘생겼다!"를 출력하고, i를 1씩 증가시켜요.
  • i4가 되면 조건이 거짓이 돼서 반복문이 종료돼요.


3.2. for 반복문

for 반복문은 리스트나 문자열의 각 요소를 하나씩 가져와 반복하면서 처리할 때 사용하는 반복문이에요. while문과 다르게 조건을 확인하는 대신, 미리 정의된 범위 내에서 순차적으로 요소를 가져와 실행해요.

numbers = [1, 2, 3, 4, 5] for num in numbers: print(num)


for 반복문의 기본 구조

for 변수 in 데이터: 수행 부분
  • 변수: 반복하면서 데이터를 하나씩 저장할 변수예요.
  • 데이터: 반복할 대상이에요. 예를 들어 리스트나 문자열 같은 것들이에요.
  • 수행 부분: 반복해서 실행할 코드를 작성하는 곳이에요. 들여쓰기를 지켜야 해요.


예시: 리스트 요소 출력하기

my_list = [2, 3, 5, 7, 11] for number in my_list: print(number)
  1. my_list의 첫 번째 값인 2가 변수 number에 저장돼요.
  2. print(number)가 실행돼서 2가 출력돼요.
  3. 두 번째 값 3number에 저장돼서 출력되고, 이런 식으로 마지막 값 11까지 출력돼요.

결과:

2 3 5 7 11



4. 파이썬, 더 쉽고 재밌게 배우고 싶다면?

파이썬 추천 강의

오늘 배운 내용은 아래 강의를 통해 더 쉽게 체계적으로 배울 수 있어요.

프로그래밍 기초부터 파이썬 핵심 스킬까지 완벽하게 마스터 해보세요.

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇