본문 바로가기

분류 전체보기

(19)
[Python] 리스트 컴프리헨션 & 딕셔너리 컴프리헨션 names = ['Kim K.S.', 'Park M.B.', 'Jo P.C.'] # List Comprehenshion length = [len(name) for name in names] print(length) ## [8, 9, 7] # Dictionary Comprehenshion length_dict = {name : len(name) for name in names} print(length_dict) ## {'Kim K.S.' : 8, Park M.B.' : 9, 'Jo P.C.' : 7 }
[Chore] 이것, 파이썬에서는 절대로 하지 마세요 (1) 요약 : package에서 import를 할 때, 모든 함수를 import하는 * 를 사용하지 말자! 버그가 발생할 수 있고, 디버그 하기도 어렵다. # fake_package.py def sleep(): print('I will never sleep!') # main.py from time import * from fake_package import * def func(): sleep(1) print('Hello, World!') func() # TypeError: sleep() takes 0 positional arguments but 1 was given 출처 https://www.youtube.com/shorts/NHquaDS6XQ0
[Python] 파이썬 자릿수 조절(소수점, 반올림) 반올림 반올림을 하고 싶을 때는, 파이썬 내장 함수 round()를 사용한다. round(number, ndigits = None) : number를 소수점 다음에 ndigits정밀도로 반올림한 값을 돌려줌. ndigits 기본값 = None ndigits = None인 경우 입력에 가장 가까운 정수(int)로 돌려줌. ndigits에 음수를 입력한 경우 |음수|자리에 해당하는 곳에서 반올림. n = 1 / 3 print(n) # 0.3333333333333333 round(n, 2) print(round(n, 2)) # 0.33 round(n, 4) print(round(n, 4)) # 0.3333 type(round(n, 4)) print(type(round(n, 4))) # round(n) prin..
[Python] List 형태의 Dictionary 다루기 List를 다루는 것은 Python에서 필수라고 할 수 있다. 그 중에서 List 형태 안에 Dictionary를 다룰 일이 자주 있는데, 이에 대해서 알아보자. 1. List 형태의 Dictionary 정렬 person = [ {'name' : 'kimSG', 'age' : 10}, {'name' : 'ParkSG', 'age' : 20}, {'name' : 'KangSG', 'age' : 30}, {'name' : 'ChoSG', 'age' : 40} ] [방법 1] sorted() + lambda - sorted()와 lambda를 사용하여 name으로 오름차순 정렬 후 age로 오름차순 정렬하는 방법 data = sorted(person, key=lambda p: (p.get('name'), p...
[L.A.] 1.1. 개론 프리드버그 선형대수학 5판을 기준으로 함. 개념 벡터(vector) : 크기와 방향을 모두 가진 물리량 (힘, 속도, 가속도) 벡터 합의 평행사변형 법칙(parallelogram law of vector addition) (그림 1) kor : 시점이 O로 일치하는 두 벡터 P, Q의 합은 점 O에서 시작하는 벡터이고, 이는 P와 Q를 이웃한 변으로 하는 평행사번형의 대각선으로 나타난다. eng : If two vectors acting simultaneously at a point can be represented both in magnitude(규모, 크기) and direction by the adjacent(인접한) sides of a parallelogram(평행사변형) drawn from a ..
[Python] pandas read_exel에서 .xlsx 파일이 안 열릴 때 문제인식 : Pandas에서 read_exel를 이용해서 xlsx 확장자의 파일을 열려고 할 때, 다음과 같은 오류가 발생할 때가 있다. XLRDError: Excel xlsx file; not supported 문제 해결 : openpyxl 라이브러리를 설치하여 read_exel 옵션에서 engine을 openpyxl로 설정한다. 1. openpyxl 라이브러리를 설치한다. pip install openpyxl 2. pandas 버전 1.0.1 이상을 사용 중인지 확인한다. import pandas as pd print(pd.__version__) 3. pandas로 .xlsx 파일을 읽을 때 openpyxl을 지정한다. import pandas df = pandas.read_excel(`.xlsx`,..
[Python] Flask Response 한글 깨짐 현상 해결 문제인식: Flask로 api를 서버에 켜서 여기에 request로 값을 요청하면 응답값이 한글인 경우 깨져서 나타나는 경우가 있다. 문제 해결: flask에서 사용하는 인코딩을 utf-8로 설정한다. response = { 'sentence' : '\uc548\ub155\ud558\uc13\uc694'} response가 위와 같이 한글이 깨지는 경우가 있다. flask에서 사용하고 있는 인코딩이 utf-8이 아닌 ascii인 경우 발생한다. 따라서, flask를 호출할 때 ascii를 꺼주면 해결된다. from flask import Flask application = Flask(__name__) application.config['JSON_AS_ASCII'] = Flase 그런데 flask 의 Re..
[Python] 딕셔너리 복사 문제 인식 : 딕셔너리(Dictionary)를 복사할 필요가 있었다. 이에 '='를 이용해서 복사본을 만들어서 사용하려고 했는데, 복사본의 값을 수정했을 때, 기존 딕셔너리의 값도 수정되는 현상이 있어서 이를 해결할 필요성이 있었다. 문제 해결 : copy모듈의 copy.deepcopy() function을 이용해서 깊은 복사를 해서 또 다른 딕셔너리를 하나 만들어서 다루었다. 1. 연산자 '='를 이용하여 딕셔너리를 복사하려 할 때. test = {'test1' : 1, 'test2' : 2, 'test3' : 3} test2 = test if id(test) == id(test2): print(True) print(f"test의 id : {id(test)}") print(f"test2의 id : {i..