코딩테스트를 위한 파이썬 기초 정리

반응형

파이썬을 쓸 일이 많지는 않지만 가끔 사용해서 정리해봤습니다.

1. 파이썬 자료형

숫자형

파이썬에서는 숫자를 표현하는 데 다양한 자료형을 제공합니다. 가장 기본적인 숫자형 자료형은 다음과 같습니다.

  • 정수형(int): 소수점이 없는 정수를 표현합니다. 예를 들어, **age = 25**와 같이 사용할 수 있습니다.
  • 실수형(float): 소수점이 있는 숫자를 표현합니다. 예를 들어, **pi = 3.14**와 같이 사용할 수 있습니다.
a = 10
b = 3

## 사칙연산, 제곱, 몫
addition = a + b  # 13
subtraction = a - b  # 7
multiplication = a * b  # 30
division = a / b  # 3.3333333333333335
exponentiation = a ** b  # 1000
quotient = a // b  # 3

 
 

문자열

문자열은 텍스트를 표현하는 데 사용되는 자료형입니다.
파이썬에서는 작은따옴표('')나 큰따옴표("")로 감싸서 문자열을 표현합니다.

name = "Alice"
message = '안녕, ' + name + '!'
print(message)  # 안녕, Alice!

 
문자열은 문자들의 나열이기 때문에 각 문자에 접근하기 위해 인덱스를 사용할 수 있습니다.
파이썬에서는 0부터 시작하는 인덱스를 사용합니다.
슬라이싱을 통해 범위를 지정하여 부분 문자열에 접근할 수도 있습니다.

text = "Hello, World!"

print(text[0])  # H
print(text[7:])  # World!

 
 

리스트형

리스트는 여러 개의 값을 하나의 변수에 저장하기 위해 사용되는 자료형입니다.
대괄호 [] 안에 원하는 값을 콤마로 구분하여 나열하여 리스트를 생성할 수 있습니다.
리스트에는 숫자, 문자열, 다른 자료형의 요소들을 혼합하여 포함시킬 수도 있습니다.

fruits = ['사과', '바나나', '딸기', '수박']
numbers = [1, 2, 3, 4, 5]
mixed_list = ['Alice', 25, True]

print(fruits)  # ['사과', '바나나', '딸기', '수박']
print(numbers)  # [1, 2, 3, 4, 5]
print(mixed_list)  # ['Alice', 25, True]

 
 
리스트의 각 요소에는 인덱스를 사용하여 접근할 수 있습니다.
인덱스는 0부터 시작하며, 음수 인덱스를 사용하여 뒤에서부터 접근할 수도 있습니다.
또한, 슬라이싱을 사용하여 부분 리스트를 추출할 수도 있습니다.

fruits = ['사과', '바나나', '딸기', '수박']

print(fruits[0])  # 사과
print(fruits[-1])  # 수박
print(fruits[1:3])  # ['바나나', '딸기']

 
 
리스트끼리의 연산도 가능합니다.

fruits1 = ['사과', '바나나']
fruits2 = ['딸기', '수박']

combined = fruits1 + fruits2  # ['사과', '바나나', '딸기', '수박']
repeated = fruits1 * 3  # ['사과', '바나나', '사과', '바나나', '사과', '바나나']

print(combined)
print(repeated)

 
리스트의 길이를 구하기 위해서는 len() 함수를 사용할 수 있습니다.

fruits = ['사과', '바나나', '딸기', '수박']

length = len(fruits)
print(length)  # 4

 
 

튜플

튜플은 리스트와 유사한 자료형으로, 값을 변경할 수 없는 불변형 자료형입니다.
튜플은 괄호 ()를 사용하여 생성하며, 리스트와 마찬가지로 다양한 자료형의 요소들을 혼합하여 포함시킬 수 있습니다.

person = ('Alice', 25, 'Seoul')

print(person)  # ('Alice', 25, 'Seoul')

 
 
튜플의 요소에 접근하기 위해서는 인덱스를 사용할 수 있습니다.
리스트와 마찬가지로 인덱스는 0부터 시작하며, 음수 인덱스를 사용하여 뒤에서부터 접근할 수도 있습니다.

person = ('Alice', 25, 'Seoul')

print(person[0])  # Alice
print(person[-1])  # Seoul

 
튜플은 불변형 자료형이기 때문에 값을 변경하거나 요소를 추가할 수 없습니다. 하지만, 튜플끼리의 연산과 결합은 가능합니다.

fruits1 = ('사과', '바나나')
fruits2 = ('딸기', '수박')

combined = fruits1 + fruits2  
repeated = fruits1 * 3 

print(combined) # ('사과', '바나나', '딸기', '수박')
print(repeated) # ('사과', '바나나', '사과', '바나나', '사과', '바나나')

 
 
 

딕셔너리

딕셔너리는 키(key)와 값(value)을 쌍으로 저장하는 자료형입니다.
중괄호 {}를 사용하여 딕셔너리를 생성하며, 각 키와 값은 콜론(:)으로 구분합니다.

person = {
    'name': 'Alice',
    'age': 25,
    'city': 'Seoul'
}

print(person)  # {'name': 'Alice', 'age': 25, 'city': 'Seoul'}

 
 
딕셔너리의 값에 접근하기 위해서는 해당 키를 사용합니다.

person = {
    'name': 'Alice',
    'age': 25,
    'city': 'Seoul'
}

print(person['name'])  # Alice
print(person['age'])  # 25

 
 
딕셔너리는 값을 변경하거나 추가할 수 있습니다.

person = {
    'name': 'Alice',
    'age': 25,
    'city': 'Seoul'
}

person['age'] = 26  # 값 변경
person['gender'] = 'Female'  # 값 추가

print(person)  # {'name': 'Alice', 'age': 26, 'city': 'Seoul', 'gender': 'Female'}

 
 
 

집합

집합은 중복되지 않는 값을 저장하는 자료형입니다.
중괄호 {}를 사용하여 집합을 생성하며, 각 요소는 콤마로 구분합니다.

fruits = {'사과', '바나나', '딸기', '수박'}

print(fruits)  #{'사과', '바나나', '딸기', '수박'}

 
 
 
집합은 중복된 값을 허용하지 않기 때문에, 중복된 요소를 가지지 않는 유니크한 값들을 저장할 때 유용합니다.
집합에 원소를 추가하거나 제거하는 등의 연산도 가능합니다.

fruits = {'사과', '바나나', '딸기', '수박'}

fruits.add('포도')  # 집합에 요소 추가
fruits.remove('사과')  # 집합에서 요소 제거

print(fruits)  # {'딸기', '바나나', '수박', '포도'}

 
 
 

Bool 자료형

Bool 자료형은 참(True)과 거짓(False)을 표현하는 자료형입니다.

is_student = True
is_adult = False

print(is_student)  # True
print(is_adult)  # False

 

 

2. 제어문

if문

if문은 주어진 조건이 참(True)인 경우에만 코드 블록을 실행하는 제어문입니다.
조건식은 논리 연산자를 사용하여 작성할 수 있습니다.

age = 18

if age >= 20:
    print("성인입니다.")
else:
    print("미성년자입니다.")

 
 

while문

while문은 주어진 조건이 참(True)인 동안 코드 블록을 반복해서 실행하는 제어문입니다. .

count = 1

while count <= 5:
    print(count)
    count += 1

 
 

for문

for문은 주어진 범위나 순회 가능한(iterable) 객체에 대해 코드 블록을 반복해서 실행하는 제어문입니다.

fruits = ['사과', '바나나', '딸기']

for fruit in fruits:
    print(fruit)

 
range() 함수

  • range() 함수는 연속된 정수들을 생성하는 함수입니다.
  • 주어진 범위에 따라 숫자들의 시퀀스를 생성하여 for 문과 함께 사용할 수 있습니다.
  • range(start, stop, step) 형식으로 사용하며, **start**는 시작 값, **stop**은 종료 값을, **step**은 증가하는 값의 크기를 나타냅니다.
  • 기본적으로 **start**는 0이고, **step**은 1입니다.
# 0부터 4까지 출력
for i in range(5):
    print(i)
# 출력 결과: 0 1 2 3 4

# 1부터 10까지 2씩 증가하며 출력
for i in range(1, 11, 2):
    print(i)
# 출력 결과: 1 3 5 7 9

 
 
 
enumerate() 함수

  • enumerate() 함수는 순회 가능한(iterable) 객체(리스트, 튜플, 문자열 등)를 입력으로 받아 인덱스와 해당 요소를 쌍으로 반환하는 이터레이터를 생성합니다.
  • 주로 for 문과 함께 사용되며, 요소의 인덱스를 알고 싶을 때 유용합니다.
  • enumerate(iterable, start=0) 형식으로 사용하며, **start**는 인덱스의 시작 값을 설정할 수 있습니다. 기본값은 0입니다.
fruits = ['사과', '바나나', '딸기']

# 인덱스와 해당 요소를 출력
for index, fruit in enumerate(fruits):
    print(index, fruit)
# 출력 결과:
# 0 사과
# 1 바나나
# 2 딸기

# 인덱스의 시작 값을 1로 설정
for index, fruit in enumerate(fruits, start=1):
    print(index, fruit)
# 출력 결과:
# 1 사과
# 2 바나나
# 3 딸기

enumerate() 함수를 사용하면 순회 가능한 객체의 요소를 하나씩 가져오면서 해당 요소의 인덱스도 함께 사용할 수 있습니다.