使用Selection Sort

时间:2015-05-31 17:19:22

标签: python sorting selection

我想使用选择排序对以下列表进行排序:

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

1 个答案:

答案 0 :(得分:2)

您可以告诉min使用第二个元素进行比较:

mini = min(list[i:], key=lambda l: l[1])

顺便说一下,调用你的变量list是不好的,因为你不能再使用Python自己的list了,因为你让所有人都感到困惑。此外,你甚至没有把它作为一个列表而是一个元组,阻止了你正在尝试的就地排序。