Python中使用未正确排序的列表的冒泡排序

2024-04-20 08:09:25 发布

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

我的python程序中的气泡排序算法似乎没有按正确的顺序完成排序或排序。在

def sort():
    listsImport()
    for passnum in range(len(numberLists)-1, 0, -1):
        for i in range(passnum):
            if numberLists[i][1] > numberLists[i+1][1]:
                temp = numberLists[i]
                numberLists[i] = numberLists[i+1]
                numberLists[i+1] = temp
    print(numberLists)

号码列表如下:
[[“你好”,“5”,“1”],[“再见”,“12”,“8”],[“问候语”,“14,'9”]。。。。。。。。。。。。。。。。。。。]
它应该按列表中的第二个元素排序。
谢谢!在


Tags: in程序算法列表for排序顺序def
1条回答
网友
1楼 · 发布于 2024-04-20 08:09:25

需要将值强制转换为整数:

def sort():
  numberLists = [['hello','5','1'], ['goodbye', '12', '8'], ['salutations', '14','9']]
  for passnum in range(len(numberLists)-1, 0, -1):
     for i in range(passnum):
        if int(numberLists[i][1]) > int(numberLists[i+1][1]):
            temp = numberLists[i]
            numberLists[i] = numberLists[i+1]
            numberLists[i+1] = temp
  return numberLists

输出:

^{pr2}$

相关问题 更多 >