반응형
Python if-else 속기 [중복]
중복 가능성 :
Python의 삼항 조건 연산자
파이썬에서 다음을 수행하고 싶습니다.
while( i < someW && j < someX){
int x = A[i] > B[j]? A[i++]:B[j++];
....
}
분명히 i
또는 하나 j
가 한계에 도달하면 코드가 루프를 벗어날 것입니다. 루프 의 값 i
과 j
외부의 값이 필요합니다 .
정말해야 해
x=0
...
if A[i] > B[j]:
x = A[i]
i+=1
else:
x = B[j]
j+=1
아니면 짧은 방법을 아는 사람이 있습니까?
위의 것 외에도 Python이 다음과 유사한 것을 지원하도록 할 수 있습니까?
a,b=5,7
x = a > b ? 10 : 11
가장 읽기 쉬운 방법은
x = 10 if a > b else 11
하지만 당신은 사용할 수 and
와 or
도 :
x = a > b and 10 or 11
"Zen of Python"은 "가독성이 중요하다"고 말하고 있으므로 첫 번째 방법으로 가십시오.
또한 대신 변수를 입력 10
하고로 평가 되면 and-or 트릭이 실패합니다 False
.
그러나 할당보다 더 많은 것이이 조건에 의존하는 경우 다음과 같이 작성하는 것이 더 읽기 쉽습니다.
if A[i] > B[j]:
x = A[i]
i += 1
else:
x = A[j]
j += 1
하지 않는 한 당신은 넣어 i
및 j
컨테이너에 있습니다. 그러나 필요한 이유를 보여 주면 그렇지 않은 것으로 판명 될 수 있습니다.
이 시도:
x = a > b and 10 or 11
다음은 실행 샘플입니다.
>>> a,b=5,7
>>> x = a > b and 10 or 11
>>> print x
11
참고 URL : https://stackoverflow.com/questions/14461905/python-if-else-short-hand
반응형
'developer tip' 카테고리의 다른 글
한 S3 계정에서 다른 계정으로 파일을 직접 이동 하시겠습니까? (0) | 2020.09.13 |
---|---|
C ++에서 참조로 포인터를 전달하는 이유? (0) | 2020.09.13 |
Bootstrap 3.0 : 같은 줄에 텍스트와 입력을 사용하는 방법은 무엇입니까? (0) | 2020.09.13 |
정적 클래스 내에서 사전 선언 (0) | 2020.09.13 |
Div 오버레이를 전체 페이지 (뷰포트뿐만 아니라)로 만드시겠습니까? (0) | 2020.09.13 |