在没有排序函数的情况下对Python中的列表进行排序

raj*_*hon 1 python sorting list

import sys\nimport pdb\n\na = [5, 2, 4, 1]\n\nfor i in range(len(a)):\n    for j in range(len(a) - 1):\n        if a[j] > a[j+1]:\n            t = a[j]\n            a[j] = a[j+1] \n            a[j] = t\n\nprint a                   \nsys.exit()\n
Run Code Online (Sandbox Code Playgroud)\n\n

我刚刚尝试了Python \xe2\x80\x93 中的C 程序,没有该sorted函数的正常排序。为什么我没有得到排序列表?

\n

Ry-*_*Ry- 6

t = a[j]\n
Run Code Online (Sandbox Code Playgroud)\n\n

其次是

\n\n
a[j] = t\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x80\x99 看起来不对。如果您打算交换它们,第二个应该是:

\n\n
a[j + 1] = t\n
Run Code Online (Sandbox Code Playgroud)\n\n

但在 Python 中,\xe2\x80\x99s 最好写成:

\n\n
a[j], a[j + 1] = a[j + 1], a[j]\n
Run Code Online (Sandbox Code Playgroud)\n\n

(当然,在Python中,将\xe2\x80\x99写成快速排序要好得多。)

\n