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

2024-06-06 19:47:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我在手动排序元组时遇到了问题,也就是说,在不使用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

所以我希望输出是:尤达 齐娜 吉吉 冠军

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


Tags: 函数inforlennames排序顺序字母
1条回答
网友
1楼 · 发布于 2024-06-06 19:47:40

这将从最大到最小排序

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)

相关问题 更多 >