我正在使用Python 3.2.3,並希望從列表中的特定元素中找到最大數字。我保留一些關於哪個元素是最大數量的知識也很重要,但是在這種情況發生的時候非常靈活。讓我來解釋......從Python中選擇列表中查找最大數字
背景
我有以下列表:
the_list = ['Order', '1', '5', 'Order', '2', '18', 'Order', '3', '45', 'Order', '4', '2', 'Order', '5', '8', 'Order', '6', '2', 'Order', '7', '1', 'Order', '8', '1', 'Order', '9', '1']
每三個列表中的元素,前兩個是描述性的數據 - 即「訂單1「,」訂單2「,」訂單3「爲」訂單「,」1「,...,」訂單「,」2「,...,」訂單「,」3「,...一路到「9號」。這些不會更改,並提供每個第三個列表元素的來源或名稱。
每三個列表元素中的第三個是有問題的信息。在這個例子中,數字是5 ... 18 ... 45 ... 2 ...等等。從這個每隔第三個元素,我想找到最大的數字。在這種情況下,最大的數字是45.這些數字總是在變化;它們可以是從0到100 [包括]的任何整數。
我已經試過到目前爲止
我一直在使用Python的MAX()函數在兩個方面嘗試。首先,簡單地...
max(the_list)
...它提供「Order」作爲最大值。對我的目標很失望。
所以我決定嘗試製作一個新的列表,只包括原始列表的每個第三個元素。像這樣...
foo = (the_line[2], the_line[5], the_line[8], the_line[11], the_line[14], the_best_line[17], the_best_line[20], the_best_line[23], the_best_line[26])
max(foo)
...它提供了「8」作爲最大數目,第15個列表元素和第5個第3個列表元素。這是一個數字,但不是最高的45 [在這個例子中]。
我也嘗試過製作一系列if-else語句,但都不成功,而且在思維定勢中必須有更多pythonic //優雅的方式。我承認,我可能在這條路線上放棄得太早,或者我的思維方式錯誤。
非常感謝您!我可能應該嘗試重新塑造數據,但現在最後一個,但它提供(45,2)將是非常好的。 – MilesNielsen