Python 中元組列表的最大元素
當需要在元組列表(即元組列表)中找到最大元素時,可以使用 'max' 方法和 'operator.itemgetter()' 方法。itemgetter 從其運算元中獲取特定項。
'max()' 方法給出傳遞給它的可迭代物件中存在最大值。以下是一些在元組列表中查詢最大元素的常用方法。
-
'itemgetter()' 函式:用於從可迭代物件(如列表、元組或字典)中檢索專案。
-
'max()' + 'zip()' 函式:使用 map() 函式將元素連結到 zip 函式以提取最大值。
-
使用 for 迴圈 +'min()' + 'max()':使用 for 迴圈遍歷元組列表並存儲最大元組。
-
使用 enumerate 函式:此方法涉及使用 for 迴圈迭代,並且我們同時獲得索引值和元素。
使用 'itemgetter()' 函式
此函式允許您指定要從可迭代物件(如列表、元組或字典)中檢索專案的專案的索引或鍵。
使用 'itemgetter()' 而不是傳統的索引或鍵值查詢,因為它可用於根據多個鍵對複雜資料結構進行排序。
示例
我們需要從 operator 模組匯入 itemgetter() 函式。在下面的示例中,我們使用帶 itemgetter() 的 max 函式根據第二個元素(值)查詢具有最高值的元組。
from operator import itemgetter
my_list = [('Will', 23), ('Jane', 21), ('El', 24), ('Min', 101)]
print ("The list is : ")
print(my_list)
my_result = max(my_list, key = itemgetter(1))[0]
print ("The name that has the maximum value is : ")
print(my_result)
輸出
The list is :
[('Will', 23), ('Jane', 21), ('El', 24), ('Min', 101)]
The name that has the maximum value is :
Min
使用 'max()' 和 'zip()'
該 map() 函式連結到 zip() 函式,這些函式收集元素以執行 max() 函式的功能。在下面的示例中,zip(*test_list) 轉置元組列表,有效地將所有第一個元素和所有第二個元素組合在一起。
test_list = [(2, 3), (4, 7), (8, 11), (3, 6)]
# printing original list
print ("The original list is : " + str(test_list))
# using map() + zip()
res1 = list(map(max, zip(*test_list)))
# printing result
print ("Maximum Value : " + str(res1))
輸出
The original list is : [(2, 3), (4, 7), (8, 11), (3, 6)] Maximum Value : [8, 11]
使用 for 迴圈和 'min()' 和 'max()' 方法。
使用 for 迴圈遍歷元組列表,將第一個和第二個位置儲存在兩個 列表 中,並將最大值儲存在兩個 元組 中。以下示例迭代 test_list 中的每個元組,將第一個元素附加到 x,將第二個元素附加到 y。
test_list = [(2, 3), (4, 7), (8, 11), (3, 6)]
# printing original list
print ("The original list is : " + str(test_list))
# using min() and max()
# to get min and max in list of tuples
x=[]
y=[]
for i in test_list:
x.append(i[0])
y.append(i[1])
res1=(max(x),max(y))
# printing result
print ("Max value: " + str(res1))
輸出
The original list is : [(2, 3), (4, 7), (8, 11), (3, 6)] Max value: (8, 11)
使用 enumerate 函式
enumerate() 函式返回給定可迭代物件的列舉物件,這使我們能夠使用 for 迴圈進行迭代。使用它,我們同時獲得索引值和元素。此函式提供了一種在迭代列表中的專案時跟蹤索引的方法,而無需手動管理索引。我們可以使用 enumerate 函式找到元素的最大值。
示例
以下是使用 enumerate() 函式在元組列表中查詢最大元素的示例 -
tup_list = [(2, 74), (6, 7), (95, 1), (6, 10), (18, 7)]
print("Original List:",tup_list)
max_list = [j for a,i in enumerate(tup_list) for j in i ]
print("Maximum Number :",max(max_list))
輸出
以下是上述程式碼的輸出 -
Original List: [(2, 74), (6, 7), (95, 1), (6, 10), (18, 7)] Maximum Number : 95
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP