본문 바로가기

728x90
반응형

Python

(100)
zip # python 여러 list, set 등을 묶어서 for loop 돌기 python의 zip은 여러 list를 같은 index 순서대로 묶어서 for문을 돌릴 수 있습니다. a = [1,2,3,4] b = ['a', 'b', 'c', 'd'] c = ['가', '나', '다', '라'] for A, B, C in zip(a,b,c): print(A, B, C) 결과값 1 a 가 2 b 나 3 c 다 4 d 라 list의 길이가 다를 경우는 짧은 순서에 맞게만 짝지어 집니다. a = [1,2,3,4] b = ['a', 'b', 'c', 'd'] c = ['가', '나', '다', '라', '마'] for A, B, C in zip(a,b,c): print(A, B, C) 결과값 1 a 가 2 b 나 3 c 다 4 d 라 list의 길이가 다를 경우 처음부터 실행이 되지 않도록..
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. # app.models import 할 때 Celery 실습 중에 아래 코드를 작성하고 Script를 실행하니 다음과 같은 에러 발생 from django_celery_beat.models import PeriodicTask django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. ChatGPT) It looks like you are trying to use Django before the application registry has been fully initialized. This can happen if you are trying to access models before the app containing them has been fully loaded. To fix this..
email 보내기 # Django send email # SMTP gmail 이용 app 비밀번호 발급 받기 (오른쪽 상단) Google 계정 관리 (왼쪽 상단) 보안 Google에 로그인 > 2단계 인증 - 전화번호 입력하고 문자로 인증 하는 등 쭉쭉 진행 2단계 인증 마치고 나면 앱 비밀번호란이 활성화: 앱 비밀번호 클릭 앱선택, 기기선택 -> 알맞게 선택 (ex. 메일, Windows 컴퓨터) 16자리의 앱 비밀번호가 나오는데 캡처기능을 막아놓은 듯합니다. 잘 보관해둡니다. 메모장 등에 적어서~ Django 1) settings project/settings.py # SMTP Settings EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_HOST = '..
날짜 구하기 # 한달 전의 날짜 구하기 1) datetime, timedelta from datetime import datetime, timedelta today = datetime.now() one_month_earlier = today - timedelta(days=30) print(one_month_earlier) 결과값: 2022-11-30 22:56:51.045597 2) datetime, relativedelta(from dateutil) from datetime import datetime # pip install python-dateutil from dateutil.relativedelta import relativedelta today = datetime.now() one_month_earlier = today + relat..
중복을 없애며 list 합치기 # set에 list 합치기 중복 가능 여부: set : X ex) 1,2,2,2,3 을 set에 담는다면 -> {1,2,3} 만 가능 list : O ex) 1,2,2,2,3, 을 list에 담는다면 -> [1,2,2,2,3] 가능 set에 list의 요소를 담아서 중복이 없는 항목들을 얻을 수 있습니다. 이때 list를 for문을 돌면서 set에 add 해주는 방법 말고 한번에 하는 union을 쓰면 됩니다. sample_set = {1,2,3,4,5,6} sample_list = [1,3,5,7,9] new_set = sample_set.union(sample_list) print(new_set) 결과값: {1, 2, 3, 4, 5, 6, 7, 9}
pyenv with Ubuntu(Linux/WSL2) pyenv를 지원하는 github를 들어가보면(https://github.com/pyenv/pyenv), macOS의 경우 간단한 명령어로 pyenv 설치가 가능한데 반해 linux의 경우 github에서 소스코드를 클론하고, 클론한 경로를 잡아주는 설정을 하는 방식으로 pyenv 를 설치해야 합니다. 실습환경: Windows 11 WSL2 Ubuntu 22.04 환경에서 pyenv를 설치 pyenv 설치 전 준비(기반 패키지 설치) 우선 pyenv를 구동할 수 있도록 기본적으로 필요한 패키지들을 먼저 설치 sudo apt-get update sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline..
python: sort a list of dictionaries by a value list에 담긴 json 형태의 dictionary 들을 특정 value에 따라 정렬을 해야할 때가 있습니다. python 내장함수인 operator를 활용하면 아주 용이하게 할 수 있습니다. import operator list_of_dict = [ {'id': 1, 'name': 'Kim', 'age':10}, {'id': 2, 'name': 'Ju', 'age':30}, {'id': 3, 'name': 'Jang', 'age':20}, ] list_of_dict.sort(key=operator.itemgetter('name')) print(list_of_dict) list_of_dict.sort(key=operator.itemgetter('age')) print(list_of_dict) list_o..
(python) remove list elements in for loop # for 문에서 list의 요소 제거 list에서 element를 제거할 때는 특정 index의 element를 제거하거나 특정 value의 element를 제거할 수 있습니다. * index 기준 1) del list에서 삭제만 하는게 필요한 경우는 del을 이용하면 됩니다. fruits = ['apple', 'banana', 'peach'] del fruits[1] print(fruits) ['apple', 'peach'] fruits = ['apple', 'banana', 'peach'] del fruits[1:3] print(fruits) ['apple'] 2) list에서 삭제하고, 삭제한 값을 뽑아서 사용하려는 경우는 pop을 이용 fruits = ['apple', 'banana', 'peach'] p = fruits.pop(1)..

728x90
반응형