zoukankan      html  css  js  c++  java
  • 冒泡排序和sort,sorted排序函数

    冒泡排序:
    假设对列表a=[6,3,7,2,8,5]中的元素进行从小到大排序:

    # 轮数 元素个数 比较次数
    # 1 6 5
    # 2 5 4
    # 3 4 3
    # 4 3 2
    # 5 2 1

    列表有n个元素,则应比较n-1轮,第一轮比较n-1次,第一轮结束后最大的那个数排到了最后,可以不管了,第二轮只需要比较n-1个数,共比较n-2次,以此类推。故只需写两个for循环,第一个for控制轮数,第二个for控制每轮的次数即可。

    a=[6,3,7,2,8,5]
    for i in range(len(a)-1): # 轮数
    for j in range(len(a)-1-i): # 每轮次数
    if a[j]>a[j+1]:
    a[j],a[j+1] =a[j+1],a[j]
    print(a)

    # [2,3,5,6,7,8]

    # ***************************************sort和sorted排序函数的用法************************************

    # lis = ['This','Is','a','Beautiful','girl']
    # lis_1 = [i.lower() for i in lis]
    # lis_1.sort(reverse = False) # 无返回值,正序
    # lis_2 = sorted(lis_1,key=len,reverse = True) # 有返回值,生成新的列表,按长度倒序排列
    # print(lis_1)
    # print(lis_2)

    # 打印出分数最高的学科
    # lis=[]
    # a={'语文':118,'数学':125,'英语':96}
    # a.keys()
    # Out[3]: dict_keys(['语文', '数学', '英语'])
    # b=a.keys()
    #b[1] # dict_keys 不支持index,但是支持遍历 for i in b:
    #max(a.values()) # 求出最大value

    # for i in a.keys():
    # if a[i]==max(a.values()):
    # print('最高分学科是%s,分数是%s'%(i,a[i]))

    # print(type(max(a.keys())))

    # a={'aa':'118','b':'111','c':'96'}
    # print(sorted(a,key=lambda x:a[x]))
    # print(sorted(a,key=lambda x:x[0]))

    # ['b', 'aa', 'c']
    # ['aa', 'b', 'c']
  • 相关阅读:
    Python3中字符串的编码与解码以及编码之间转换(decode、encode)
    Python 封装
    Python多态、鸭子类型
    Python抽象类和接口类
    Python 类的名称空间和组合
    Python面向对象
    Python 模块和包
    接口自动化之cookies/session
    jmeter之cookies登录
    jenkins发送邮件
  • 原文地址:https://www.cnblogs.com/wangyi0419/p/11296817.html
Copyright © 2011-2022 走看看