个人网站模板儿童,济南房产网新开楼盘,民宿网站的建设,麟游住房和城市建设局网站一、sort()方法#xff1a; list.sort(cmpNone, keyNone, reverseFalse) cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 key -- 主要是用来进行比较的元素#xff0c;只有一个参数#xff0c;具体的函数的参数就是取自于可迭代对象中#xff0c;指定可迭…一、sort()方法 list.sort(cmpNone, keyNone, reverseFalse) cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 key -- 主要是用来进行比较的元素只有一个参数具体的函数的参数就是取自于可迭代对象中指定可迭代对象中的一个元素来进行排序。 reverse -- 排序规则reverse True 降序 reverse False 升序默认。
#列表升序
list1[python,java,c,阿里,1,2,3]
list1.sort()
print(list1)
#列表降序
list1.sort(reverseTrue)
print(list1)C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/Test/test/test01.py
[1, 2, 3, c, java, python, 阿里]
[阿里, python, java, c, 3, 2, 1]Process finished with exit code 0 二、sorted()函数 sorted(iterable, cmpNone, keyNone, reverseFalse) iterable -- 可迭代对象。 cmp -- 比较的函数这个具有两个参数参数的值都是从可迭代对象中取出此函数必须遵守的规则为大于则返回1小于则返回-1等于则返回0。 key -- 主要是用来进行比较的元素只有一个参数具体的函数的参数就是取自于可迭代对象中指定可迭代对象中的一个元素来进行排序。 reverse -- 排序规则reverse True 降序 reverse False 升序默认。
#列表升序
list2[(python,java),(c,c),(1,php)]
print(sorted(list2))
#列表降序
print(sorted(list2,reverse True))#通过key的值来进行数组/字典的升序
array [{age: 20, name: a}, {age: 25, name: b}, {age: 10, name: c}]
array_data sorted(array, keylambda x: x[age])
print(array_data)#先按照成绩降序排序相同成绩的按照名字升序排序
dict_data [{name: alice, score: 38}, {name: bob, score: 18}, {name: darl, score: 28},{name: christ, score: 28}]
dict_sorted sorted(dict_data, keylambda x: (-x[score], x[name]))
print(dict_sorted)C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/Test/test/test01.py
[(1, php), (c, c), (python, java)]
[(python, java), (c, c), (1, php)]
[{age: 10, name: c}, {age: 20, name: a}, {age: 25, name: b}]
[{name: alice, score: 38}, {name: christ, score: 28}, {name: darl, score: 28}, {name: bob, score: 18}]Process finished with exit code 0
三、sort ()与sorted()区别 sort()是应用在list上的方法,sorted()可以对所有可迭代的对象进行排序操作。 list的sort()方法返回的是对已经存在的列表进行操作无返回值而内建函数sorted()方法返回的是一个新的list而不是在原来的基础上进行的操作。
四、冒泡排序
是最常见到的排序算法也是很基础的一种排序算法。它的实现思想是相邻的两个元素进行比较然后把较大的元素放到后面正向排序在一轮比较完后最大的元素就放在了最后一个位置像鱼儿在水中吐的气泡在上升的过程中不断变大
list3[3,9,1,A,p]
for i in range(len(list3)):for j in range(i1,len(list3)):if list3[i]list3[j]:list3[i],list3[j]list3[j],list3[i]
print(list3)C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/Test/test/test01.py
[1, 3, 9, A, p]Process finished with exit code 0五、选择排序 选择排序的思路是第一轮的时候所有的元素都和第一个元素进行比较如果比第一个元素大就和第一个元素进行交换在这轮比较完后就找到了最小的元素第二轮的时候所有的元素都和第二个元素进行比较找出第二个位置的元素以此类推。
list4[3,9,1,2,4]
for i in range(len(list4)-1,0,-1):for j in range(i):if list4[j]list4[i]:list4[j], list4[i] list4[i], list4[j]
print(list4)C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/Test/test/test01.py
[1, 2, 3, 4, 9]Process finished with exit code 0