본문 바로가기

Python/Python FAQ540

Python 문자열 목록에서 빈 문자열을 제거합니다., Remove empty strings from a list of strings 질문 나는 파이썬에서 문자열 목록에서 모든 빈 문자열을 제거하고 싶습니다. 내 아이디어는 다음과 같습니다: while '' in str_list: str_list.remove('') 이것을 더 파이썬스럽게 할 수 있는 방법이 있나요? 답변 나는 filter를 사용할 것이다: str_list = filter(None, str_list) str_list = filter(bool, str_list) str_list = filter(len, str_list) str_list = filter(lambda item: item, str_list) Python 3는 filter에서 이터레이터를 반환하기 때문에 list() 호출로 래핑해야 한다. str_list = list(filter(None, str_list)) 2023. 6. 7.
Python pip install mysql-python가 환경 오류로 실패했습니다: mysql_config를 찾을 수 없습니다., pip install mysql-python fails with EnvironmentError: mysql_config not found 질문 This is the error I get (mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python Downloading/unpacking mysql-python Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded Running setup.py egg_info for package mysql-python sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.p.. 2023. 6. 7.
IPython 노트북에서 matplotlib 플롯을 인라인으로 만드는 방법, How to make IPython notebook matplotlib plot inline 질문 나는 Python 2.7.2와 IPython 1.1.0이 설치된 MacOS X에서 IPython 노트북을 사용하려고 노력하고 있습니다. 하지만 matplotlib 그래픽이 인라인으로 나타나지 않습니다. import matplotlib import numpy as np import matplotlib.pyplot as plt %matplotlib inline %pylab inline과 ipython 명령줄 인수 --pylab=inline도 시도해 보았지만, 이에는 차이가 없습니다. x = np.linspace(0, 3*np.pi, 500) plt.plot(x, np.sin(x**2)) plt.title('A simple chirp') plt.show() 인라인 그래픽 대신에 다음과 같은 결과가 나타납.. 2023. 6. 7.
Python 리스트 컴프리헨션 대 맵, List comprehension vs map 질문 map()를 사용하는 것이 리스트 컴프리헨션보다 나은 이유가 있나요? 그리고 그 반대의 경우도 마찬가지인가요? 어느 것이 일반적으로 더 효율적이거나 Pythonic하다고 생각되나요? 답변 map는 경우에 따라 (람다를 만드는 대신 map과 리스트 컴프리헨션에서 동일한 함수를 사용할 때) 미세하게 더 빠를 수 있습니다. 리스트 컴프리헨션은 다른 경우에 더 빠를 수 있으며 대부분의 (모든 것이 아닌) Pythonista는 더 직접적이고 명확하다고 생각합니다. 동일한 함수를 사용할 때 map의 미세한 속도 이점의 예: $ python -m timeit -s'xs=range(10)' 'map(hex, xs)' 100000 loops, best of 3: 4.86 usec per loop $ python -.. 2023. 6. 6.