繁体   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