【发布时间】:2018-04-13 02:35:00
【问题描述】:
我是 Python 新手,我正在尝试使用冒泡排序实现算法,但使用列表理解。虽然我已经使用 if 和 for 进行列表理解,但我无法找到实现嵌套 for 以及用于排序的交换的方法。
以下是我尝试使用的代码。
import random as rn
l=[]
N=int(input('Give an integer: '))
for i in range(N):
l.append(rn.randint(1,100))
print(l)
listset = [l[:k-1] + [l[k]] + [l[k-1]] + l[k+1:] if l[k] > l[k-1] else l for k in range(1,len(l)) ]
print(listset)
对于如何正确使用列表推导来实现冒泡排序算法,您有什么建议吗?
提前致谢。
【问题讨论】:
-
我不认为这是一个实际的目标。大多数排序算法依赖于部分结果来实现下一步,这与列表推导并不兼容。
-
您可以使用this 代码来帮助您指明正确的方向。
-
您好,感谢您的回答。不幸的是,这是我正在为一门课程做的一个短期项目的要求,我们被明确要求对冒泡排序算法使用列表理解。
标签: python list list-comprehension bubble-sort