반응형
값 집합 정렬
다음과 같은 값이 있습니다.
set(['0.000000000', '0.009518000', '10.277200999', '0.030810999', '0.018384000', '4.918560000'])
set(['4.918859000', '0.060758000', '4.917336999', '0.003949999', '0.013945000', '10.281522000', '0.025082999'])
각 값 set
을 오름차순 으로 정렬하고 싶습니다 . 세트간에 정렬하는 것이 아니라 각 세트의 값을 정렬하고 싶습니다.
댓글에서 :
각 세트를 정렬하고 싶습니다.
쉽습니다. 모든 집합 s
(또는 반복 가능한 다른 항목) 에 대해 정렬 된 순서 sorted(s)
로의 요소 목록을 반환합니다 s
.
>>> s = set(['0.000000000', '0.009518000', '10.277200999', '0.030810999', '0.018384000', '4.918560000'])
>>> sorted(s)
['0.000000000', '0.009518000', '0.018384000', '0.030810999', '10.277200999', '4.918560000']
주 sorted
당신에게주고있다 list
하는 없습니다 set
. 두 세트의 요점 때문이다 수학 하고있는 거의 모든 프로그래밍 언어 세트를 : *이 주문 아니에요이다 {1, 2}
와 {2, 1}
같은 집합입니다.
이러한 요소를 문자열로 정렬하지 않고 숫자로 정렬하고 싶지는 않을 것입니다 (따라서 4.918560000은 10.277200999 이후가 아닌 10.277200999 이전에 올 것입니다).
가장 좋은 해결책은 처음에 숫자를 문자열이 아닌 숫자로 저장하는 것입니다. 그러나 그렇지 않은 경우 key
함수 를 사용해야 합니다.
>>> sorted(s, key=float)
['0.000000000', '0.009518000', '0.018384000', '0.030810999', '4.918560000', '10.277200999']
자세한 내용 은 공식 문서 의 Sorting HOWTO 를 참조하십시오 .
* 예외 사항은 주석을 참조하십시오.
참고 URL : https://stackoverflow.com/questions/17457793/sorting-a-set-of-values
반응형
'code' 카테고리의 다른 글
C ++에서 핸들이란 무엇입니까? (0) | 2020.08.30 |
---|---|
zip (* [iter (s)] * n)은 파이썬에서 어떻게 작동합니까? (0) | 2020.08.30 |
Android ClassNotFoundException : 경로에서 클래스를 찾지 못했습니다. (0) | 2020.08.30 |
한 필드의 개수가 1보다 큰 경우 선택 (0) | 2020.08.30 |
텍스트 영역이 부모 DIV 요소를 넘어 확장되는 것을 어떻게 방지 할 수 있습니까? (0) | 2020.08.30 |