在没有排序函数的情况下在python中排序列表
问题描述:
import sys
import pdb
a = [5, 2, 4, 1]
for i in range(len(a)):
for j in range(len(a) - 1):
if a[j] > a[j+1]:
t = a[j]
a[j] = a[j+1]
a[j] = t
print a
sys.exit()
我刚刚在Python中尝试了一个C程序 - 没有sorted
函数的普通排序。为什么我没有得到排序的列表?在没有排序函数的情况下在python中排序列表
答
试试这个 - :
for i in range(len(a)):
for j in range(len(a) - 1):
if a[j] > a[j+1]:
a[j+1], a[j] = a[j], a[j+1]
print a
:)
+1
@minitech已经在下面回答了同样的问题,只是说。 – rdodev
+0
我是python编程的新手。你能解释为什么你在这里使用两个for循环? –
答
for
循环中的最后一行应该是a[j+1] = t
。我认为这只是一个代码错误。下次照顾。另外,在Python中,当你想交换两个变量时,你应该遵循@minitech和@Nilesh G的说法。
为什么“没有'sorted()'函数”? – Johnsyweb
@Johnsyweb我猜这是一个任务。教师通常不要求内建,以便学生如何做到这一点,而不是他们。 – rdodev
@rdodev:是的,如你所说。在有问题的会议和采访中,他们期望它没有内置的功能。 – rajpython