Python列表排序实战:冒泡、选择与内置方法详解

南乔
南乔
发布时间:2026-10-16 | 6人浏览过
原创

本文详细介绍Python中列表的四种常见排序方式:通过for和while循环实现的冒泡排序,利用remove、append及pop方法实现的选择排序,以及高效便捷的内置list.sort()与sorted()函数。文章涵盖参数说明、代码示例及降序处理,帮助开发者掌握不同场景下的排序技巧。

1、冒泡排序法

该算法的核心逻辑是比较列表中相邻的两个元素。在升序排列中,如果前一个元素的值大于后一个元素,则交换它们的位置,从而将较大的元素逐步“冒泡”到列表末尾。

方法一:直接使用for循环

L=[8,2,50,3]
for i in range(len(L)):
    for j in range(i+1,len(L)):
        if L[i]>L[j]:
            L[i],L[j]=L[j],L[i]
print(L)

方法二:使用while语句

L=[8,2,50,3]
n=0
while n<len(L)-1:
    n+=1
    i=0
    while i<len(L)-1:
        if L[i]>L[i+1]:
            L[i],L[i+1]=L[i+1],L[i]
        i+=1
print(L)

2、选择排序法

选择排序的思路是从未排序的部分中找出最小(或最大)的元素,将其放置在已排序部分的末尾。具体操作为:首先在整个列表中找出最小元素,将其移至列表最前端;接着在剩余未排序元素中继续寻找最小值并放置到已排序序列的后面,重复此过程直至所有元素完成排序(以升序为例)。

方法一:remove和append同时使用

L=[8,2,50,3]
l=[] #  创建一个空列表用于存放排序后的数据
for i in range(len(L)):
    a=min(L) #  创建一个变量存放最小值
    l.append(a) #  向空列表中加入数据
    L.remove(a) #  在原列表中将最小值剔除
print(l)

方法二:pop和append同时使用

L=[8,2,50,3]
 
#  创建函数寻找最小元素的索引值
def Smallest(L):
  smallest = L[0]
  s = 0 #  创建变量用于存放索引值
  for i in range(1, len(L)):
    if L[i] < smallest:
      s = i 
      smallest = L[i]
  return s #  返回最小元素的列表索引值
 
l = [] #  创建一个空列表用以存放排序后的数据
for i in range(len(L)):
    smallest = Smallest(L)
    l.append(L.pop(smallest)) #  pop方法后跟元素当前列表最小值的索引值
print(l)

3、list.sort()方法

iterable.sort(self,key,reverse)

iterable指代可迭代对象,常见的包括列表、集合或字典等数据结构。

key参数接收一个函数,用于定义排序时依据的元素取值规则。

reverse参数用于控制排序方向,若设为True则执行降序排序,默认为False即保持升序。

L=[8,2,50,3]
L.sort()
print(L)

4、sorted()函数

sorted(iterable,key=None,reverse=False)

key参数允许用户自定义排序逻辑,通过传入特定的比较函数来改变排序依据。

L=[8,2,50,3]
l=sorted(L)
print(l)

总结

到此这篇关于python列表中常见的一些排序方法的文章就介绍到这了,更多相关python列表排序方法内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表