본문 바로가기

Python/Python FAQ540

Python 리스트 내포에서 if else [중복], if else in a list comprehension [duplicate] 질문 나는 목록 l을 가지고 있습니다: l = [22, 13, 45, 50, 98, 69, 43, 44, 1] 45 이상의 숫자에 대해서는 1을 더하고, 그보다 작은 숫자에 대해서는 5를 더하고 싶습니다. 저는 다음과 같이 시도해 보았습니다 [x+1 for x in l if x >= 45 else x+5] 하지만 구문 오류가 발생합니다. 리스트 내포에서 이처럼 if - else를 어떻게 구현할 수 있을까요? 답변 >>> l = [22, 13, 45, 50, 98, 69, 43, 44, 1] >>> [x+1 if x >= 45 else x+5 for x in l] [27, 18, 46, 51, 99, 70, 48, 49, 6] 이 참이면 무언가를 하고, 그렇지 않으면 다른 무언가를 하십시오. 2023. 8. 2.
Python 파이썬의 중첩된 딕셔너리를 객체로 변환하는 방법은 무엇인가요?, How to convert a nested Python dict to object? 질문 I'm searching for an elegant way to get data using attribute access on a dict with some nested dicts and lists (i.e. javascript-style object syntax). For example: >>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]} Should be accessible in this way: >>> x = dict2obj(d) >>> x.a 1 >>> x.b.c 2 >>> x.d[1].foo bar I think, this is not possible without recursion, but what would be a nice wa.. 2023. 8. 2.
Python 문자열을 문자의 리스트로 어떻게 나눌 수 있나요?, How do I split a string into a list of characters? 질문 문자열을 문자 목록으로 어떻게 분할할 수 있을까요? str.split은(는) 작동하지 않습니다. "foobar" → ['f', 'o', 'o', 'b', 'a', 'r'] 답변 list 생성자를 사용하세요: >>> list("foobar") ['f', 'o', 'o', 'b', 'a', 'r'] list는 입력 iterable을 반복하여 얻은 항목을 사용하여 새로운 목록을 만듭니다. 문자열은 반복 가능한(iterable) 객체입니다 -- 반복하는 동안 각 반복 단계에서 하나의 문자를 생성합니다. 2023. 8. 2.
Python 스크립트의 디렉토리를 어떻게 찾을 수 있을까요? [중복], How can I find script's directory? [duplicate] 질문 다음의 Python 코드를 고려해보세요: import os print os.getcwd() 나는 os.getcwd()를 사용하여 스크립트 파일의 디렉토리 위치를 얻습니다. 커맨드 라인에서 스크립트를 실행하면 올바른 경로를 제공하지만, Django 뷰에서 실행되는 코드에서 실행하면 /을 출력합니다. Django 뷰에서 실행되는 스크립트 내에서 스크립트의 경로를 어떻게 얻을 수 있을까요? 업데이트: 지금까지의 답변을 요약하면 - os.getcwd()와 os.path.abspath()는 현재 작업 디렉토리를 제공하는데, 이는 스크립트가 위치한 디렉토리일 수도 있고 아닐 수도 있습니다. 내 웹 호스트 설정에서는 __file__은 경로 없이 파일 이름만을 제공합니다. Python에서 스크립트가 위치한 경로를.. 2023. 8. 2.