Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Inductive Learning
- public key
- GCP
- 생성 모델
- mode collapse
- Transductive Learning
- tmux
- Design Patterns
- SSIM
- ChatGPT
- 연역
- posterior collapse
- session 미종료
- Vertex AI
- 귀납
- uri
- prompt engineering
- PSNR
- 디자인 패턴
- url
- python3
- 생성 모델 평가
- Google Cloud
- cam
- DeepLearing.AI
- 대칭키
- Grad-CAM
- ARIMA
Archives
- Today
- Total
데이터 과학 노트
Python3 Tips 본문
Python 3 Tips
- Python 3 사용에 있어서 참고하면 좋을 tip을 여러 곳에서 취합하여 정리하였습니다.
1. venv 사용하기
- 프로젝트에서 참조하면 모듈의 버전 등의 차이로 프로젝트마다 각각 다른 virtual environment 를 활용해야 할 경우
# venv setup
python3 --version
python3 -m venv env
# active & install modules
source ./env/bin/active
pip install --upgrade pip
# ...
deactive
2. 내장 함수 enumerate() 사용하기 (range(len()) 지양)
data = [1, 2, -3, -4, 5]
for index, num in enumerate(data):
pass
3. 내장 함수 sorted() 와 lambda 사용하기
data = [
{"name": "Max", "age": 6},
{"name": "Lisa", "age": 20},
{"name": "Ben", "age": 9}
]
sorted_data = sorted(data, key=lambda x: x["age"])
4. Syntactic Sugar 사용하기
- 4.1 list, set, dict, ... comprehension 사용하기 (list comprehension: ≈ 리스트 표현식)
squares = [i*i for i in range(10)]
- 4.2 비교 연산자 합치기
if(a < b <= c): # if((a < b) and (b <= c)):
pass
- 4.3 삼항 연산자 (true_expression if condition else false_expression)
for index, data in data_list:
# operation: data -> result
print(result) if index == 0 else None
- 4.3 삼항 연산자 (데이터)
for index, data in data_list:
# operation: data -> result
print(result) if index == 0 else None
5. collections.Counter 사용하기
프로젝트에서 참조하면 모듈의 버전 등의 차이로 프로젝트마다 각각 다른 virtual envirorment 를 활용해야 할 경우
from collections import Counter
my_list = [10, 10, 10, 5, 5, 2, 9, 9, 9, 9, 9, 9]
counter = Counter(my_list)
print(counter) # Counter({9: 6, 10: 3, 5: 2, 2: 1})
print(counter[10]) # 3
6. f-String 사용하기 (.format() 지양)
print(f"Epoch: [{index}/{epoch_num}]")
7. dictionaries 합치기
config = {'model': 'gcn', 'layer_num': 3} # model config
args = {'epoch_num': 10, 'dropout_rate': 0.2} # job arguments
params = {**config, **args}
8. zip 사용하기
- 두개 이상의 list 한번에 순회하기
names = ['Peter', 'James', 'Robert', 'John']
ages = [13, 12, 14, 14]
grades = ['B', 'C', 'A', 'B']
for name, age, grade in zip(names, ages, grades)
print(f"name: {name}, age: {age}", grade: {grade}")
9. Underscore Placeholders
num = 10_000_000
print(f'{num:,}')