반응형
간단한 if-then-else 문구를 한 줄에 표시하다
Python에 접속한 지 얼마 안 됐는데, 구문의 간결함이 정말 마음에 들어요.하지만, 더 쉬운 방법은 없을까?if
-then
-else
한 줄에 들어갈 수 있는 문장이 있을까요?
예를 들어 다음과 같습니다.
if count == N:
count = 0
else:
count = N + 1
이걸 좀 더 쉽게 쓸 수 있는 방법은 없나요?Objective-C에서는 다음과 같이 쓰고 싶습니다.
count = count == N ? 0 : count + 1;
Python과 비슷한 것이 있나요?
갱신하다
이 경우, 제가 사용할 수 있다는 것을 알고 있습니다.count == (count + 1) % N
.
일반적인 구문에 대해 묻고 있습니다.
이것은 if-그럼 python 구문보다 더 구체적으로 3진 연산자 표현입니다.
value_when_true if condition else value_when_false
'Yes' if fruit == 'Apple' else 'No'
이제 할당 및 if 구문과의 대비가 필요합니다.
fruit = 'Apple'
isApple = True if fruit == 'Apple' else False
대
fruit = 'Apple'
isApple = False
if fruit == 'Apple' : isApple = True
또한 "일반"을 사용할 수 있습니다.if
구문과 콜론을 사용하여 한 줄로 컴파일합니다.
if i > 3: print("We are done.")
또는
field_plural = None
if field_plural is not None: print("insert into testtable(plural) '{0}'".format(field_plural))
count = 0 if count == N else N+1
- 3진 연산자.하지만 당신의 해결책은 이것보다 더 읽기 쉽다고 말할 수 있습니다.
일반적인 삼진법 구문:
value_true if <test> else value_false
또 다른 방법은 다음과 같습니다.
[value_false, value_true][<test>]
예:
count = [0,N+1][count==N]
두 브랜치를 모두 평가한 후 선택합니다.선택한 분기만 평가하려면:
[lambda: value_false, lambda: value_true][<test>]()
예:
count = [lambda:0, lambda:N+1][count==N]()
<execute-test-successful-condition> if <test> else <execute-test-fail-condition>
당신의 암호 해독기를 사용하면
count = 0 if count == N else N + 1
언급URL : https://stackoverflow.com/questions/2802726/putting-a-simple-if-then-else-statement-on-one-line
반응형
'programing' 카테고리의 다른 글
DEBUG = False일 때 Django가 잘못된 요청(400)을 제공합니다. (0) | 2022.09.27 |
---|---|
조인 쿼리가 코드 시그니터에서 작동하지 않습니다. (0) | 2022.09.27 |
JavaScript와 의 JavaScript (0) | 2022.09.27 |
Android "gps requires ACCESS_FINE_LOCATION" 오류(내 매니페스트 파일에 이 오류가 포함됨) (0) | 2022.09.26 |
PHP 루프 - SQL 성능 저하 (0) | 2022.09.26 |