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

时间:2019-12-05 20:06:51

标签: python python-3.x sorting selection-sort

我在手动对元组进行排序时遇到麻烦,可以说不按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                              Xena                              吉吉                              冠军

我要避免使用sorted()函数的原因是我想看看是否有可能

1 个答案:

答案 0 :(得分:0)

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

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)