반응형
튜플 목록에서 최대값을 찾으려면 어떻게 해야 합니까?
10^6개의 튜플이 들어 있는 리스트는 다음과 같습니다.
[(101, 153), (255, 827), (361, 961), ...]
^ ^
X Y
최대값을 구하다Y이 리스트에는 있습니다만, 이 리스트의X그렇게 될 수밖에 없어요.
이거 어떻게 해?
사용하다max():
사용.itemgetter():
In [53]: lis=[(101, 153), (255, 827), (361, 961)]
In [81]: from operator import itemgetter
In [82]: max(lis,key=itemgetter(1))[0] #faster solution
Out[82]: 361
사용.lambda:
In [54]: max(lis,key=lambda item:item[1])
Out[54]: (361, 961)
In [55]: max(lis,key=lambda item:item[1])[0]
Out[55]: 361
timeit비교:
In [30]: %timeit max(lis,key=itemgetter(1))
1000 loops, best of 3: 232 us per loop
In [31]: %timeit max(lis,key=lambda item:item[1])
1000 loops, best of 3: 556 us per loop
max 외에 다음 항목도 정렬할 수 있습니다.
>>> lis
[(101, 153), (255, 827), (361, 961)]
>>> sorted(lis,key=lambda x: x[1], reverse=True)[0]
(361, 961)
목록을 반복하여 태플을 변수에 유지하면 동일한 변수에서 두 값을 볼 수 있습니다.
num=(0, 0)
for item in tuplelist:
if item[1]>num[1]:
num=item #num has the whole tuple with the highest y value and its x value
언급URL : https://stackoverflow.com/questions/13145368/how-to-find-the-maximum-value-in-a-list-of-tuples
반응형
'programing' 카테고리의 다른 글
| 모든 Git 브랜치를 가져오려면 어떻게 해야 하나요? (0) | 2023.04.15 |
|---|---|
| 주석 핀에 맞게 MKMapView를 확대/축소하시겠습니까? (0) | 2023.04.15 |
| Swift의 NSString에서 NSData 작성 (0) | 2023.04.15 |
| MVVM 동기 컬렉션 (0) | 2023.04.15 |
| Microsoft SQL Server에서 날짜만 사용하여 DATETIME 필드를 쿼리하는 방법 (0) | 2023.04.15 |