내일배움캠프(사전캠프)

[내일배움캠프] 사전캠프 (9일차)

anscodus 2026. 2. 24. 17:33

오늘 한 일

 

  • 파이썬 (1-5 ~ 1-8)

1-5 리스트와 딕셔너리

 

리스트

더보기

리스트 : 순서가 있는, 다른 자료형들의 모임

a = [1, 5, 2]
b = [3, "a", 6, 1]
c = []
d = list()
e = [1, 2, 4, [2, 3, 4]]

 

리스트의 길이도 len()함수를 사용해서 잴 수 있다.

a = [1, 5, 2]
print(len(a))   # 3

b = [1, 3, [2, 0], 1]
print(len(b))   # 4

 

순서가 있기 때뭉에 문자열에서 처럼 인덱싱, 슬라이싱 사용가능

a = [1, 3, 2, 4]
print(a[3])  # 4
print(a[1:3]) # [3, 2]
print(a[-1]) # 4 (맨 마지막 것)

 

리스트 안의 요소로 리스트를 중첩 가능

a = [1, 2, [2, 3], 0]
print(a[2])      # [2, 3]
print(a[2][0])   # 2

리스트의 더 많은 기능들

더보기

덧붙이기

a = [1, 2, 3]
a.append(5)
print(a)     # [1, 2, 3, 5]

a.append([1, 2])
print(a)     # [1, 2, 3, 5, [1, 2]]


# 더하기 연산과 비교!
a += [2, 7]
print(a)     # [1, 2, 3, 5, [1, 2], 2, 7]

 

 

정렬하기

a = [2, 5, 3]
a.sort()
print(a)   # [2, 3, 5]
a.sort(reverse=True)
print(a)   # [5, 3, 2]

 

 

요소가 리스트 안에 있는지 알아보기

a = [2, 1, 4, "2", 6]
print(1 in a)      # True
print("1" in a)    # False
print(0 not in a)  # True

 

딕셔너리

더보기

딕셔너리 : 키(key)와 밸류(value)의 쌍으로 이루어진 자료의 모임

person = {"name":"Bob", "age": 21}
print(person["name"])

 

만드는 여러가지 방법

a = {"one":1, "two":2}

# 빈 딕셔너리 만들기
a = {}
a = dict()

 

※딕셔너리의 요소에는 순서가 없음 -> 인덱싱 사용 불가능

person = {"name":"Bob", "age": 21}
print(person[0])   # 0이라는 key가 없으므로 KeyError 발생!

 

 값을 업데이트 하거나 새로운 쌍의 자료를 넣을 수 있음

person = {"name":"Bob", "age": 21}

person["name"] = "Robert"
print(person)  # {'name': 'Robert', 'age': 21}

person["height"] = 174.8
print(person)  # {'name': 'Robert', 'age': 21, 'height': 174.8}

딕셔너리의 더 많은 기능들

더보기

딕셔너리 안에 해당 키가 존재하는지 알려면 in 사용

person = {"name":"Bob", "age": 21}

print("name" in person)       # True
print("email" in person)      # False
print("phone" not in person)  # True

리스트와 딕셔너리의 조합

더보기

딕셔너리는 리스트와 함께 쓰여 자료를 정리하는 데 사용 가능

people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}]

# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'

person = {'name': 'john', 'age': 7}
people.append(person)

# people의 값은? [{'name':'bob','age':20}, {'name':'carry','age':38}, {'name':'john','age':7}]
# people[2]['name']의 값은? 'john'

 

 

Q.딕셔너리에서 원하는 정보를 찾아보기

-smith의 science 점수를 출력해보세요

people = [
    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]

 A.

print(people[2]['score']['science'])

 

1-6 조건문

더보기

if문 : 조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법

money = 5000
if money > 3800:
    print("택시 타자!")

 

파이썬에서 어디까지 구문에 포함되는지를 들여쓰기로 구분함

(조건에 불 자료형 들어감. money > 3800은 True)

money = 5000
if money > 3800:
    print("택시 타자!")

 

else, elif : 조건을 만족하지 않을 때 다른 코드를 실행하고 싶으면 사용하는 문법

money = 2000
if money > 3800:
    print("택시 타자!")
else:
    print("걸어가자...")

 

다양한 조건 판단 시 elif 

age = 27
if age < 20:
    print("청소년입니다.")
elif age < 65:
    print("성인입니다.")
else:
    print("무료로 이용하세요!")

 

 

1-7 반복문

더보기

for : 반복문에서 사용

fruits = ['사과', '배', '감', '귤']

for fruit in fruits:
    print(fruit)

 

 

Q.사람의 나이 출력하기

people = [
  {'name': 'bob', 'age': 20},
  {'name': 'carry', 'age': 38},
  {'name': 'john', 'age': 7},
  {'name': 'smith', 'age': 17},
  {'name': 'ben', 'age': 27},
  {'name': 'bobby', 'age': 57},
  {'name': 'red', 'age': 32},
  {'name': 'queen', 'age': 25}
 ]

- 이 리스트에서 나이가 20보다 큰 사람만 출력합니다.

for person in people:
    if person['age'] > 20:
        print(person['name'])

 

enumerate, break

fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지']
for i, fruit in enumerate(fruits):
    print(i,fruit)

 

ex) 앞에 5개만 출력

for i, fruit in enumerate(fruits):
    print(i, fruit)
    if i == 4:
        break

 

 

1-8 반복문-연습문제

 

더보기

Q. 리스트에서 짝수만 출력하는 함수 만들기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

for num in num_list:
    if num % 2 == 0:
        print(num)

 

 

Q. 리스트에서 짝수의 개수를 출력하기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

count = 0

for num in num_list:
    if num % 2 == 0:
        count += 1

print(count)

 

 

Q. 리스트 안에 있는 모든 숫자 더하기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
result = 0
for num in num_list:
    result += num

print(result)

 

 

Q. 리스트 안에 있는 자연수 중 가장 큰 숫자 구하기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
max = 0
for num in num_list:
    if max < num:
        max = num

print(max)

  • SQL마무리

https://anscodus.tistory.com/7

 

[내일배움캠프] 사전캠프 (6일차)

2/19 보충오늘 한 일SQL (4-1 ~ 4-8) 4-1 포맷 변경과 조건문 복습, 이번 수업 내용 맛보기 4-2 여러번의 연산을 한 번의 SQL문으로 수행하기더보기Subquery가 필요한 경우- 여러번의 연산을 수행해야 할 때

anscodus.tistory.com

4-8 실습문제가 생각보다 어려웠다

힌트랑 이전에 정리 해 놓은 내용 보면서 마무리했는데 마지막에 쉼표 하나 안찍은걸로 계속 오류나서 한참을 고민함..ㅜ

 

https://anscodus.tistory.com/8