如何选择对列表中的元组进行排序,以便在不使用排序函数的情况下按相反的字母顺序对元组进行排序
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)
我在手动对元组进行排序时遇到了问题,可以说是在不使用 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)