簡體   English   中英

使用選擇排序功能在Python中對包含元組的列表進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM