1. 튜플, 집합
- 튜플(tuple)
리스트와 비슷하지만 불변인 자료형이다. 순서가 존재.
a = (1,2,3)
print(a[0])
-----------------------------------------------------------------------------------------------
# 아래와 같은 작업은 불가능합니다!
a = (1,2,3)
a[0] = 99
-----------------------------------------------------------------------------------------------
a_dict = [('bob','24'),('john','29'),('smith','30')]
- 집합(set)
중복 제거 가능.
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)
-----------------------------------------------------------------------------------------------
# 교집합, 합집합, 차집합 구하기도 가능!
a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']
a_set = set(a)
b_set = set(b)
print(a_set & b_set) # 교집합
print(a_set | b_set) # 합집합
2. f-string
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(name,score)
-----------------------------------------------------------------------------------------------
# 아래와 같이 출력해보기
for s in scores:
name = s['name']
score = str(s['score'])
print(name+'는 '+score+'점 입니다')
-----------------------------------------------------------------------------------------------
# f-string을 이용하면 훨씬 간단하게 가능합니다!
for s in scores:
name = s['name']
score = str(s['score'])
print(f'{name}은 {score}점입니다')
3. 예외처리
- 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', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
if person['age'] > 20:
print (person['name'])
-----------------------------------------------------------------------------------------------
# 만약 bobby가 age를 갖고 있지 않다면?
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'])
-----------------------------------------------------------------------------------------------
# 아래과 같은 try except구문을 이용하면 에러를 넘길 수 있습니다.
for person in people:
try:
if person['age'] > 20:
print (person['name'])
except:
name = person['name']
print(f'{name} - 에러입니다')
4. 파일 불러오기
# main_test.py
from main_func import *
say_hi()
-----------------------------------------------------------------------------------------------
# main_func.py
def say_hi():
print('안녕!')
5. 한줄의 마법
- if문: 삼항연산자
(참일 때 값) if (조건) else (거짓일 때 값)으로 항이 3개라 삼항 연산자
# 만약 조건에 따라 다른 값을 변수에 저장하고 싶다면?
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}입니다.")
- for문: 한 번에 써버리기
# a_list의 각 요소에 2를 곱한 새로운 리스트를 만들고 싶다면?
a_list = [1, 3, 2, 5, 1, 2]
b_list = []
for a in a_list:
b_list.append(a*2)
print(b_list)
-----------------------------------------------------------------------------------------------
# 한 번에 쓰기!
a_list = [1, 3, 2, 5, 1, 2]
b_list = [a*2 for a in a_list]
print(b_list)
'Today I Learned (TIL) > Python' 카테고리의 다른 글
[TIL] 데이터 분석 파이썬 종합반 - 3주차 (0) | 2024.07.05 |
---|---|
[TIL] 데이터 분석 파이썬 종합반 - 2주차 (1) | 2024.07.05 |
[TIL] 데이터 분석 파이썬 종합반 - 1주차 (0) | 2024.07.04 |
[TIL] Python 정리 (0) | 2024.07.01 |
[TIL] 파이썬 문법 기초 - 1주차 기초 (0) | 2024.06.27 |