如何选择对列表中的元组进行排序,以便在不使用排序函数的情况下按相反的字母顺序对元组进行排序

How to selection sort a tuple in a list so that it sort the tuple in reverse alphabetical order without the use of sorted function

我在手动对元组进行排序时遇到了问题,可以说是在不使用 sorted() 函数的情况下按相反的字母顺序对其进行排序 到目前为止我已经完成了这个请随时纠正我

names = [ ("Yoda", 0.455), ("Abbie", 0.66), ("Gigi", 0.5), ("Xena", 0.12), ("Champ", 0.3) ] 


def sorting_backward(names):
    for i in range(len(names)):
        min = i
        for j in range(i-1,len(names)):
            if names[j] < names[min]:
                min = j
    return names

所以我希望输出为:Yoda 谢娜 吉吉 冠军

我想避免使用 sorted() 函数的原因是我想看看它是否可行

这会将它从最大到最小排序

names = [ ("Yoda", 0.455), ("Abbie", 0.66), ("Gigi", 0.5), ("Xena", 0.12), ("Champ", 0.3)]
sort_list = []
while names:
    largest = max(names, key=lambda x: x[0])
    print (largest)
    sort_list.append(largest)
    names.pop(names.index(largest))

print(sort_list)