python列表中常见的一些排序方法

 

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实现降序排序,需要提供一个bool值,默认为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列表排序方法内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 想要的效果大概就是搞个windows桌面自动点击程序,以新浪微博自动点赞为例。 需要用到的函数库PyAutoGUI——图形用户界面自动化(主要用到 ...