冒泡: # 轮数 元素个数 比较次数 # 1 6 5 # 2 5 4 # 3 4 3 # 4 3 2 # 5 2 1 # 列表有n个元素,则应比较n-1轮,即循环次数n-1 a=[85,7,4,89,34,2] for j in range(5): # 轮数 for i in range(5-j): # 每轮次数 if a[i]>a[i+1]: a[i],a[i+1] =a[i+1],a[i] print(a) # [2, 4, 7, 34, 85, 89]
# ***************************************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']