目录
  • 1、冒泡排序法
    • 方法一:直接使用for循环
    • 方法二:使用while语句
  • 2、选择排序法
    • 方法一:remove和append同时使用
    • 方法二:pop和append同时使用
  • 3、list.sort()方法
    • 4、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实现降序排序,需要提供一个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)

        总结

        声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。