nums = [23,47,96,41,56,8,9,46,1,3,2,5]
#列表的sort方法会直接对列表进行排序
nums.sort()
print(nums)
#sorted内置函数,不改变原有的数据,而是生成一个新的有序的列表
nums1 = [23,47,99,41,6,8,9,46,1,3,2,5]
nums2 = (20,7,96,41,56,8,9,16,1,3,2,5) #元组是不可变的,此时会生成一个新的有序的列表
x1 = sorted(nums1)
x2 = sorted(nums2)
print(x1)
print(x2) #[1, 2, 3, 5, 7, 8, 9, 16, 20, 41, 56, 96]
###########################################################################
persons = [
{'name':'Curry','age':'30','height':'195','weight':'80'},
{'name':'jerry','age':'20','height':'160','weight':'88'},
{'name':'tom','age':'34','height':'155','weight':'120'},
{'name':'tony','age':'37','height':'175','weight':'80'},
{'name':'jimy','age':'40','height':'168','weight':'87'},
]
def foo(ele):
return ele['height'] #通过返回值告诉sort方法,按照元素的属性进行排序
#需要传递参数key指定比较规则
#key参数类型是函数
#在sort内部实现的时候,调用了foo方法,并且传入了一个参数,参数就是列表里的元素
#persons.sort(key=foo)
persons.sort(key=lambda ele:ele['height'])
print(persons)
结果
[1, 2, 3, 5, 8, 9, 23, 41, 46, 47, 56, 96]
[1, 2, 3, 5, 6, 8, 9, 23, 41, 46, 47, 99]
[1, 2, 3, 5, 7, 8, 9, 16, 20, 41, 56, 96]
[{'name': 'tom', 'age': '34', 'height': '155', 'weight': '120'}, {'name': 'jerry', 'age': '20', 'height': '160', 'weight': '88'}, {'name': 'jimy', 'age': '40', 'height': '168', 'weight': '87'}, {'name': 'tony', 'age': '37', 'height': '175', 'weight': '80'}, {'name': 'Curry', 'age': '30', 'height': '195', 'weight': '80'}]
Process finished with exit code 0