所以我是python的新手,我有一个项目,需要我们遍历一个非常长的元组列表,我们必须按降序和升序对列表进行排序。然而,对于我的两个函数,我总是得到升序,有什么不对?有人来帮我,我真的压力很大
def bubblesort_descending(tuple_list):
j = len(tuple_list)
made_swap = True
swaps = 0
while made_swap:
made_swap = False
for cnt in range (j-1):
if tuple_list[cnt] < tuple_list[cnt+1]:
tuple_list[cnt], tuple_list[cnt+1] = tuple_list[cnt+1], tuple_list[cnt]
made_swap = True
swaps = swaps + 1
return swaps
主程序:
^{pr2}$
你需要把迭代器转换成一个列表。在
在这之后,代码将按降序排序,因为如果
tuple_list[cnt]
小于tuple_list[cnt+1]
,则进行交换。如果将逻辑运算符从“<
”更改为“>
”,则会得到升序,因为更改后,如果tuple_list[cnt]
大于tuple_list[cnt+1]
,则会进行交换将你的列表命名为tuple_list,这有点令人困惑。因为python中的列表和元组是不同的。
What's the difference between lists and tuples?
升序和降序之间的基本区别在于比较:下面是一个来自http://www.codecodex.com/wiki/Bubble_sort#Python的气泡排序实现:
注意:基于
asc
参数的差异?在示例:
^{pr2}$因此,实际上,将逻辑运算符
<
交换为>
会颠倒排序顺序。在相关问题 更多 >
编程相关推荐