使用选择排序对 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
并且因为您让每个人都感到困惑。此外,您甚至没有将其设为列表而是一个元组,从而阻止了您正在尝试的就地排序。
我想使用选择排序对以下列表进行排序:
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
并且因为您让每个人都感到困惑。此外,您甚至没有将其设为列表而是一个元组,从而阻止了您正在尝试的就地排序。