프로그래밍의 핵심은 데이터를 다루는 데 있어요. 데이터를 저장하고, 조건에 따라 처리하며, 반복적인 작업을 자동화하는 법을 배우는 것은 파이썬의 기초를 다지는 가장 중요한 단계예요. 오늘은 데이터를 효율적으로 관리하는 법과, 복잡한 조건을 간단히 코드로 표현하는 법, 반복적인 작업을 깔끔하게 처리하는 방법을 알아볼게요.
리스트와 사전은 데이터를 효율적으로 저장하고 관리할 수 있는 파이썬의 핵심 자료형이에요.
리스트는 순서대로 데이터를 저장하며, 사전은 키-값 쌍으로 데이터를 관리해요. 리스트는 반복 처리에, 사전은 데이터 검색과 조직화에 유용해요. 이 두 자료형은 데이터를 다루는 기초로, 파이썬 프로그래밍의 다양한 응용을 이해하고 실습하는 데 필수적이에요.
리스트는 데이터를 원하는 순서대로 정리할 수 있는 자료형이에요. 예를 들어 친구들 이름을 저장하거나, 쇼핑 목록을 만들 때 사용할 수 있어요. 리스트 안에 여러 값을 넣고, 인덱스를 이용해 각각의 값을 가져올 수도 있어요.
정수형 2
, 3
, 5
, 7
, 11
, 13
을 갖고 있는 숫자 리스트와, 문자열 "윤수"
, 문자열 "혜린"
, 문자열 "태호"
, 문자열 "영훈"
을 담고 있는 문자열 리스트를 만들어 볼게요. 보시다시피 대괄호로 시작하고 값들을 쉼표로 나눠 주고 대괄호로 끝내면 됩니다.
# 숫자 리스트 만들기
numbers = [2, 3, 5, 7, 11]
# 문자열 리스트 만들기
names = ["윤수", "혜린", "태호", "영훈"]
숫자 리스트는 numbers
리스트, 문자열 리스트는 names
리스트가 되는 거죠. 그리고 여기 리스트에 있는 하나 하나의 값들을, 리스트의 "요소"라고 불러요.
파이썬에서 리스트의 요소를 하나씩 가져오는 방법을 인덱싱(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
여러 값을 모아 놓을 수 있는 자료형으로 파이썬에는 또 사전, 영어로는 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)의 유연성
my_family = {
'엄마': '김자옥',
'아빠': '이석진',
'아들': '이동민',
'딸': '이지영'
}
print(my_family['아빠']) # 출력: 이석진
순서
조건문은 특정 조건에 따라 코드의 실행 흐름을 제어하는 프로그래밍 구조예요.
조건이 참(True)일 때만 수행할 코드를 실행하며, 기본적으로 if
, elif
, else
를 사용해 다양한 상황에 맞는 동작을 설정할 수 있어요. 상황별 처리가 필요할 때 필수적으로 사용돼요.
우리는 하루에도 수백 번 선택의 기로에 서요. 예를 들어, 날씨가 춥다면 자켓을 입고, 덥다면 반팔을 입죠. 이런 결정을 내릴 때 머릿속에서 논리적으로 생각하는 과정을 프로그래밍에서도 활용할 수 있어요.
파이썬에서는 이런 "만약~이라면"이라는 논리를 if문으로 표현해요. 상황에 따라 다르게 작동하는 프로그램을 만들고 싶다면 꼭 알아야 하는 개념이에요.
if문은 특정 조건이 참(True)일 때만 수행 부분을 실행해요. 기본적인 구조는 아래와 같아요.
if 조건 부분:
수행 부분
이 코드에서 temperature
값이 8
이라면, temperature <= 10
조건은 참(True)이에요. 따라서 "자켓을 입으세요."
가 출력돼요.
temperature = 8 # 현재 온도를 저장하는 변수
if temperature <= 10: # 온도가 10도 이하라면
print("자켓을 입으세요.") # 이 메시지가 출력돼요.
조건이 거짓(False)일 경우에도 다른 행동을 하고 싶다면 else문을 사용하면 돼요. temperature
값이 16
이므로, 조건이 거짓이고 else문이 실행돼요.
temperature = 16
if temperature <= 10:
print("자켓을 입으세요.")
else:
print("자켓을 입지 않아도 돼요.")
조건이 여러 개라면 어떻게 해야 할까요? 이럴 때는 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학점입니다.")
반복문은 같은 작업을 반복적으로 실행할 때 사용해요.
반복문을 사용하면 코드를 더 간단하고 효율적으로 작성할 수 있어요. 대표적인 반복문으로는 조건이 참일 때 계속 실행되는 while
문과, 주어진 데이터를 순서대로 처리하는 for
문이 있어요. 반복문은 데이터 처리, 조건에 맞는 값 찾기, 작업 자동화 등 다양한 상황에서 유용하게 사용돼요.
while
반복문while 반복문은 조건이 참(True
)인 동안 특정 코드를 반복해서 실행하는 명령어예요. 조건이 충족되면 수행 부분이 실행되고, 조건이 거짓(False
)이 되면 반복을 멈추게 돼요. 반복 작업이 필요할 때 특히 유용한 도구랍니다.
while 조건 부분:
수행 부분
True
나 False
로 평가되는 조건이 들어가요.True
일 때 실행되는 코드예요. 들여쓰기를 통해 블록을 구성해야 해요.True
라면 수행 부분을 실행해요.False
라면 반복문을 종료해요.False
가 될 때까지 반복해요.i = 1
while i <= 3:
print("나는 잘생겼다!")
i += 1
i
는 1
이에요.i <= 3
이 참일 동안 "나는 잘생겼다!"
를 출력하고, i
를 1씩 증가시켜요.i
가 4
가 되면 조건이 거짓이 돼서 반복문이 종료돼요.for
반복문for
반복문은 리스트나 문자열의 각 요소를 하나씩 가져와 반복하면서 처리할 때 사용하는 반복문이에요. while문과 다르게 조건을 확인하는 대신, 미리 정의된 범위 내에서 순차적으로 요소를 가져와 실행해요.
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
for 변수 in 데이터:
수행 부분
my_list = [2, 3, 5, 7, 11]
for number in my_list:
print(number)
my_list
의 첫 번째 값인 2
가 변수 number
에 저장돼요.print(number)
가 실행돼서 2
가 출력돼요.3
이 number
에 저장돼서 출력되고, 이런 식으로 마지막 값 11
까지 출력돼요.결과:
2
3
5
7
11
오늘 배운 내용은 아래 강의를 통해 더 쉽게 체계적으로 배울 수 있어요.
프로그래밍 기초부터 파이썬 핵심 스킬까지 완벽하게 마스터 해보세요.