Python에서는 어떻게 태플 비교가 이루어집니까?
나는 Core Python 프로그래밍 책을 읽고 있었는데, 저자는 다음과 같은 예를 들었다.
(4, 5) < (3, 5) # Equals false
그래서 궁금한데, 어떻게/왜 거짓과거짓말이죠?비단뱀은 이 두 마리 토끼를 어떻게 비교할 수 있을까요?
그나저나 책에는 설명이 안 돼 있어.
튜플은 위치별로 비교됩니다.첫 번째 튜플의 첫 번째 항목은 두 번째 튜플의 첫 번째 항목과 비교됩니다.두 번째 튜플이 동일하지 않은 경우(즉, 첫 번째 튜플이 두 번째보다 크거나 작음), 비교 결과이며, 그렇지 않은 경우 두 번째 항목이 고려되고 세 번째 항목이 고려됩니다.
동일한 유형의 시퀀스도 비교를 지원합니다.특히 튜플과 리스트는 대응하는 요소를 비교함으로써 사전 편찬적으로 비교된다.즉, 동등하게 비교하려면 모든 요소가 동등하게 비교되어야 하며 두 시퀀스의 유형이 같고 길이가 같아야 합니다.
빌트인 컬렉션 간의 사전 비교는 다음과 같이 이루어집니다.
- 두 컬렉션을 비교하려면 두 컬렉션이 같은 유형이고 길이가 동일해야 하며 대응하는 각 요소의 쌍이 같아야 합니다(예를 들어,
[1,2] == (1,2)
유형이 동일하지 않기 때문에 false입니다).- 순서 비교를 지원하는 컬렉션의 순서는 첫 번째 동일하지 않은 요소와 동일합니다(예:
[1,2,x] <= [1,2,y]
와 같은 가치가 있다x <= y
대응하는 요소가 존재하지 않는 경우 짧은 컬렉션이 먼저 정렬됩니다(예를 들어,[1,2] < [1,2,3]
참입니다).
동일하지 않은 경우 시퀀스는 첫 번째 다른 요소와 동일하게 정렬됩니다.예를 들어 cmp([1,2,x], [1,2,y])는 cmp(x,y)와 같은 값을 반환합니다.대응하는 요소가 존재하지 않는 경우 짧은 시퀀스는 작은 것으로 간주됩니다(예를 들어 [1,2]< [1,2,3]은 True를 반환합니다).
주 1:<
그리고.>
"보다 작음"과 "보다 작음"이 아니라 "전"과 "후"를 의미합니다. 즉, (0, 1) "전"(1, 0)이 됩니다.
주 2: 튜플은 길이에 따라 n차원 공간에서 벡터로 간주해서는 안 된다.
주 3: 질문 https://stackoverflow.com/questions/36911617/python-2-tuple-comparison 참조: 첫 번째 요소가 두 번째 요소보다 큰 경우에만 다른 요소보다 "태플"이 더 크다고 생각하지 마십시오.
Python 문서에서는 설명되고 있습니다.
튜플 및 목록은 해당 요소의 비교를 사용하여 사전 편집 방식으로 비교됩니다.즉, 동등하게 비교하려면 각 요소를 동등하게 비교해야 하며 두 시퀀스의 유형이 같고 길이가 같아야 합니다.
튜플 및 목록은 해당 요소의 비교를 사용하여 사전 편집 방식으로 비교됩니다.즉, 동등하게 비교하려면 각 요소를 동등하게 비교해야 하며 두 시퀀스의 유형이 같고 길이가 같아야 합니다.
동일하지 않은 경우 시퀀스는 첫 번째 다른 요소와 동일하게 정렬됩니다.예를 들어 cmp([1,2,x], [1,2,y])는 cmp(x,y)와 같은 값을 반환합니다.대응하는 요소가 존재하지 않는 경우는, 보다 짧은 시퀀스의 순서가 우선됩니다(예를 들면, [1,2]< [1,2,3]).
유감스럽게도 그 페이지는 최신 버전의 문서에서 사라진 것 같습니다.
I had some confusion before regarding integer comparsion, so I will explain it to be more beginner friendly with an examplea = ('A','B','C') # see it as the string "ABC" b = ('A','B','D')
A가 대응하는 ASCII로 변환됩니다.ord('A') #65
다른 요소에 대해서도 동일
그렇게,>> a>b # True
스트링의 비교라고 생각할 수 있습니다(정확히 말하면)
정수도 마찬가지입니다.
x = (1,2,2) # see it the string "123" y = (1,2,3) x > y # False
왜냐하면 (1은 1보다 크면 안 되고, 다음 2는 2보다 크면 안 되고, 다음 2로 이동하면 3보다 작습니다 -)
요점은 위의 답변에 기재되어 있습니다.
알파벳 순으로 요소가 아닌 다른 요소가 요소보다 크기 전의 요소라고 생각하고 이 경우 모든 태플 요소를 하나의 문자열로 간주합니다.
언급URL : https://stackoverflow.com/questions/5292303/how-does-tuple-comparison-work-in-python
'programing' 카테고리의 다른 글
Vuex에서 Mixin 글로벌 메서드 호출 (0) | 2022.09.08 |
---|---|
mysqld.service 작업에 실패했습니다. "systemctl status mysqld.service"를 참조하십시오. (0) | 2022.09.08 |
컴포넌트의 div 내의 버튼에 스타일을 적용하는 방법 (0) | 2022.09.08 |
프레임 버스터 버스터... 버스터 코드 필요 (0) | 2022.09.08 |
JavaScript를 사용하여 브라우저에서 Word 문서(.doc, .docx)를 렌더링하려면 어떻게 해야 합니까? (0) | 2022.09.08 |