[英]Sorting a list in Python containing tuples with Selection Sort
我想使用選擇排序對以下列表進行排序:
list1 = [(1,2,3),(3,6,4),(4,7,9)]
如何按每個元組(2,6,7)的第二個元素對以上內容進行排序?
對於正常的選擇排序,我有以下代碼,但是我現在知道如何使用元組。
def selection_sort(list):
for i in range(len(list)):
mini = min(list[i:])
min_index = list[i:].index(mini)
list[i + min_index] = list[i]
list[i] = mini
您可以告訴min
使用第二個元素進行比較:
mini = min(list[i:], key=lambda l: l[1])
順便說一句,調用您的變量list
很不好,因為那樣您就不能再使用Python自己的list
了,並且因為每個人都感到困惑。 另外,您甚至沒有將其列出,而是將其作為一個元組,從而阻止了您嘗試進行的就地排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.