본문 바로가기

전체 글980

Python Django 쿼리를 값 목록으로 필터링하는 방법은 무엇인가요?, How can I filter a Django query with a list of values? 질문 이건 단순한 작업이라고 확신하지만, 어떻게 하는지 알 수가 없네요. 이보다 더 똑똑한 방법이 있을 텐데요: ids = [1, 3, 6, 7, 9] for id in ids: MyModel.objects.filter(pk=id) 저는 이렇게 모두 한 번의 쿼리로 가져오고 싶습니다: MyModel.objects.filter(pk=[1, 3, 6, 7, 9]) 어떻게 하면 Django 쿼리를 값 목록으로 필터링할 수 있을까요? 답변 다음은 Django 문서에서: Blog.objects.filter(pk__in=[1, 4, 7]) 2023. 11. 24.
Python PYTHONPATH에 디렉토리를 영구적으로 추가하려면 어떻게 해야 하나요?, Permanently add a directory to PYTHONPATH? 질문 Whenever I use sys.path.append, the new directory will be added. However, once I close python, the list will revert to the previous (default?) values. How do I permanently add a directory to PYTHONPATH? 언제나 sys.path.append를 사용하면 새로운 디렉토리가 추가됩니다. 그러나 파이썬을 닫으면 목록이 이전 (기본?) 값으로 돌아갑니다. PYTHONPATH에 디렉토리를 영구적으로 추가하는 방법은 무엇인가요? 답변 만약에 Mac이나 GNU/Linux 배포판에서 bash를 사용하고 있다면, 다음을 ~/.bashrc에 추가하세요. expor.. 2023. 11. 24.
Python 파이썬에서 추상 클래스를 만들 수 있을까요?, Is it possible to make abstract classes in Python? 질문 파이썬에서 클래스나 메소드를 추상화하는 방법은 무엇인가요? 다음과 같이 __new__()를 재정의해 보았습니다: class F: def __new__(cls): raise Exception("추상 클래스 %s의 인스턴스를 생성할 수 없습니다" %cls) 하지만, 이제 F를 상속받는 G 클래스를 다음과 같이 만들면: class G(F): pass G를 인스턴스화할 수 없습니다. 왜냐하면 G는 슈퍼 클래스의 __new__ 메소드를 호출하기 때문입니다. 추상 클래스를 정의하는 더 좋은 방법이 있을까요? 답변 추상 클래스를 만들기 위해 abc 모듈을 사용하세요. 메서드를 추상으로 선언하기 위해 abstractmethod 데코레이터를 사용하고, 파이썬 버전에 따라 세 가지 방법 중 하나를 사용하여 클래스를 .. 2023. 11. 16.
Python 파이썬에서 문자열에서 영숫자 문자만 남기고 모두 제거하기, Stripping everything but alphanumeric chars from a string in Python 질문 파이썬을 사용하여 문자열에서 모든 영숫자가 아닌 문자를 제거하는 가장 좋은 방법은 무엇인가요? 이 질문의 PHP 버전에서 제시된 해결책들은 약간의 조정을 거치면 작동할 것 같지만, '파이썬 다운' 느낌이 들지 않습니다. 기록을 위해, 저는 마침표와 쉼표(및 기타 구두점)뿐만 아니라 따옴표, 괄호 등도 제거하려고 합니다. 답변 저는 그냥 호기심으로 몇 가지 함수를 시간 측정해 보았습니다. 이 테스트에서는 내장된 string 모듈의 string.printable에서 비알파벳 및 숫자가 아닌 문자를 제거합니다. '[\W_]+'와 pattern.sub('', str)의 사용이 가장 빠르다는 것을 알게 되었습니다. $ python -m timeit -s \ "import string" \ "''.join(c.. 2023. 11. 16.
Python 파이썬 리스트를 내림차순으로 정렬, Python list sort in descending order 질문 이 목록을 내림차순으로 정렬하는 방법은 무엇인가요? timestamps = [ "2010-04-20 10:07:30", "2010-04-20 10:07:38", "2010-04-20 10:07:52", "2010-04-20 10:08:22", "2010-04-20 10:08:22", "2010-04-20 10:09:46", "2010-04-20 10:10:37", "2010-04-20 10:10:58", "2010-04-20 10:11:50", "2010-04-20 10:12:13", "2010-04-20 10:12:13", "2010-04-20 10:25:38" ] 답변 이렇게 하면 배열의 정렬된 버전을 얻을 수 있습니다. sorted(timestamps, reverse=True) 원래 자리에서 .. 2023. 11. 16.
Python TypeError: Unicode-objects must be encoded before hashing를 어떻게 수정할 수 있나요?, How to correct TypeError: Unicode-objects must be encoded before hashing? 질문 나는 이 오류를 가지고 있습니다: Traceback (most recent call last): File "python_md5_cracker.py", line 27, in m.update(line) TypeError: Unicode-objects must be encoded before hashing 나는 Python 3.2.2에서 이 코드를 실행하려고 할 때: import hashlib, sys m = hashlib.md5() hash = "" hash_file = input("해시가 있는 파일 이름은 무엇입니까? ") wordlist = input("워드리스트는 무엇입니까? (파일 이름을 입력하세요) ") try: hashdocument = open(hash_file, "r") except IO.. 2023. 11. 16.
Python 딕셔너리에서 키-값 쌍의 하위 집합을 추출하시겠습니까?, Extract a subset of key-value pairs from dictionary? 질문 나는 여러 개의 키-값 쌍(약 16개)을 가진 큰 사전 객체를 가지고 있지만, 나는 그 중 3개에만 관심이 있습니다. 이러한 사전을 하위 집합으로 만드는 가장 좋은 방법(가장 짧고 효율적이며 우아한 방법)은 무엇인가요? 내가 알고 있는 최상의 방법은 다음과 같습니다: bigdict = {'a':1,'b':2,....,'z':26} subdict = {'l':bigdict['l'], 'm':bigdict['m'], 'n':bigdict['n']} 나는 이보다 더 우아한 방법이 있다고 확신합니다. 답변 당신은 다음을 시도해볼 수 있습니다: dict((k, bigdict[k]) for k in ('l', 'm', 'n')) ... 또는 Python 3 Python 버전 2.7 이상에서도 작동한다는 점에 .. 2023. 11. 16.
Python 딕셔너리 내에서 최소값에 해당하는 키를 가져옵니다., Get the key corresponding to the minimum value within a dictionary 질문 만약 파이썬 딕셔너리가 있다면, 최소값을 포함하는 항목의 키를 어떻게 가져올 수 있을까요? 나는 min() 함수와 관련된 것을 생각하고 있었어요... 입력이 주어진 경우: {320:1, 321:0, 322:3} 그것은 321을 반환할 것입니다. 답변 최고: min(d, key=d.get) -- 불필요한 lambda 간접 계층이나 항목 또는 키를 추출할 필요가 없습니다! >>> d = {320: 1, 321: 0, 322: 3} >>> min(d, key=d.get) 321 2023. 11. 16.