본문 바로가기

coding9.4

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 파이썬의 람다에서 "if"를 실행하는 방법이 있을까요? [중복], Is there a way to perform "if" in python's lambda? [duplicate] 질문 파이썬 2.6에서는 다음을 수행하려고 합니다: f = lambda x: if x==2 print x else raise Exception() f(2) # "2"를 출력해야 함 f(3) # 예외를 발생시켜야 함 이것은 분명히 문법이 아닙니다. lambda에서 if를 수행할 수 있는지 여부와 가능하다면 어떻게 수행하는지 알 수 있을까요? 답변 원하는 구문은 다음과 같습니다: lambda x: True if x % 2 == 0 else False 하지만 람다에서는 print나 raise를 사용할 수 없습니다. 2023. 10. 24.
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 SQL과 같이 'in' 및 'not in'을 사용하여 Pandas 데이터프레임을 필터링하는 방법, How to filter Pandas dataframe using 'in' and 'not in' like in SQL 질문 SQL의 IN과 NOT IN과 동일한 결과를 어떻게 얻을 수 있을까요? 필요한 값들로 이루어진 리스트가 있습니다. 다음은 시나리오입니다: df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China'] # 의사 코드: df[df['country'] not in countries_to_keep] 현재 제가 이 작업을 수행하는 방법은 다음과 같습니다: df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) df2 = pd.DataFrame({'country': ['UK', 'China'], 'matched': True}) # I.. 2023. 7. 3.