심화수업
은,
나중에 코딩의 고수가 되었을 때!
사용할 코드를 훑는다고 생각하자
리스트랑 똑~같이 생겼는데 불변형!
a = (1,2,3)
print(a[0])
리스트는 추가와 변형이 가능하지만, 튜플은 불가능!
딕셔너리
대신리스트와 튜플
로 딕셔너리
'비슷하게' 만들어 사용해야 할 때 많이 쓰임!
좋은점: 중복이 제거
된다 !
a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1]
a_set = set(a)
print(a_set)
{1,2,3,4,5} 만 출력됨
교집합 / 합집합 / 차집합
student_a = ["물리2", "국어", "수학1", "음악", "화학1", "화학2", "체육"]
student_b = ["물리1", "수학1", "미술", "화학2", "체육"]
a_set = set(student_a)
b_set = set(student_b)
print(a_set & b_set) #교집합
print(a_set | b_set) #합집합
print(a_set - b_set) #차집합
교집합
>{'화학2', '체육', '수학1'}
합집합
>{'물리2', '수학1', '미술', '국어', '화학1', '음악', '화학2', '물리1', '체육'}
차집합
>{'음악', '물리2', '국어', '화학1'}
int()
- 숫자로 바꿔주는 것
str()
- 문자로 바꿔주는 것
scores = [
{"name": "영수", "score": 70},
{"name": "영희", "score": 65},
{"name": "기찬", "score": 75},
{"name": "희수", "score": 23},
{"name": "서경", "score": 99},
{"name": "미주", "score": 100},
{"name": "병태", "score": 32},
]
for s in scores:
name = s["name"]
score = str(s["score"])
print(f"{name}은 {score}점입니다")
print(name+"는 "+score+"점 입니다")
도 가능하지만 더 간결하게 f-string
을 사용하여 나타냄!
try - except
중간에 에러가 나면 넘기고 그대로 실행할수있도록 도와준다.
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
if person['age'] > 20:
print (person['name'])
만약, bobby가 age를 갖고 있지 않다면? - 중간에 데이터가 없어서 에러가 난다.
이 경우는,
try except 구문
을 이용하여 에러를 넘긴다.
for person in people:
try:
if person['age'] > 20:
print (person['name'])
except:
print(person['name'] ,'에러남')
그 결과, 값이 아래처럼 찍힌다.
carry
ben
bobby 에러남
red
queen
실제 프로젝트 남용하는 것은 금물! 어디서 에러가 났는지 알 수 없어요 💀
main_test.py
와 main_func.py
2개의 파일
main_test.py
from main_func import *
say_hi()
main_func.py
def say_hi():
print('안녕!')
Run
출력시> 안녕!
main_func.py의 파일에 있는 함수를 가져와서 쓴다. 전체(*)가 아니고 부분적으로만 가져오기도 함.
num = 3
if num%2 == 0:
result = "짝수"
else:
result = "홀수"
print(f"{num}은 {result}입니다.")
이 코드를 간단히 만드는 것.
num = 3
result = "짝수" if num % 2 == 0 else "홀수"
print(f"{num}은 {result}입니다.")
💡 (참일 때 값) if (조건) else (거짓일 때 값)
으로 항이 3개라 삼항 연산자
a_list = [1, 3, 2, 5, 1, 2]
b_list = [] # 비어있는 b_list를 하나 만들어준다
for a in a_list: # a_list를 반복해서 돌릴떄,
b_list.append(a * 2) # b_list에 *2곱한값을 추가해준다.
print(b_list) #[2, 6, 4, 10, 2, 4]
이 코드도 간단히 만들어주자!
a_list = [1, 3, 2, 5, 1, 2]
b_list = [a * 2 for a in a_list]
print(b_list) # [2, 6, 4, 10, 2, 4]
🚨아래부터는 조-금 어려울 수 있으니, 가볍게 나중을 위해 들어둔다
라고 생각해두세요!
map부터는 수업 1번 더 듣고 정리하기