본문 바로가기

listcomprehension2.2

Python 왜 파이썬에는 튜플 내장(comprehension)이 없을까요?, Why is there no tuple comprehension in Python? 질문 우리는 모두 알다시피, 리스트 컴프리헨션이 있습니다. 예를 들면 [i for i in [1, 2, 3, 4]] 그리고 딕셔너리 컴프리헨션이 있습니다. 예를 들면 {i:j for i, j in {1: 'a', 2: 'b'}.items()} 하지만 (i for i in (1, 2, 3)) 는 제너레이터가 됩니다. tuple 컴프리헨션이 아닙니다. 그 이유는 무엇일까요? 제 추측은 tuple이 불변형(immutable)이기 때문인데, 이것이 정답인 것 같지는 않습니다. 답변 생성자 표현식을 사용할 수 있습니다: tuple(i for i in (1, 2, 3)) 하지만 괄호는 이미 생성자 표현식을 위해 사용되었습니다. 2023. 10. 16.
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.