有沒有更好的方式來做到這一點?我並不需要列表進行排序,只需掃描即可獲取具有最大指定屬性的項目。我最關心的是可讀性,但是排序整個列表以獲得一個項目似乎有點浪費。Pythonic的方式來獲得列表中的最大項目
>>> import operator
>>>
>>> a_list = [('Tom', 23), ('Dick', 45), ('Harry', 33)]
>>> sorted(a_list, key=operator.itemgetter(1), reverse=True)[0]
('Dick', 45)
我能做到這一點相當冗長......
>>> age = 0
>>> oldest = None
>>> for person in a_list:
... if person[1] > age:
... age = person[1]
... oldest = person
...
>>> oldest
('Dick', 45)
不錯,不知道有最多可選關鍵參數! – Noah 2009-12-09 14:23:29
啊,輝煌!好的python讓我開心。 – 2009-12-09 14:24:20