""" list.sort() 和sorted()方法 使用help()方法查看两个方法的说明 list.sort()和内置方法sorted() 都有key 和reverse参数 key参数接收一个函数来实现自定义的排序,例如:key = abs,按绝对值大小排序,reverse=False表示不需要反向排序 sort是列表的方法,只可以用在列表排序,是在原序列上修改,不会产生新的序列。 内置的sorted方法可以用于任何迭代对象(字符串、列表、元组、字典等),它会产生一个新的序列,旧对象依然存在。 """ seq = [3,4,5,8,1,2,0] seq.sort() print(seq) # 不产生新的序列,在原序列的基础上修改 seq = [3,4,5,8,1,2,0] seq_after = sorted(seq) # sorted产生新的序列 print("seq",seq) print("seq_after",seq_after)
""" 按照al中的age大小顺序排序 """ al = [{‘name‘:‘a‘,"age":20},{‘name‘:‘b‘,"age":30},{"name":"c","age":10}] al.sort(key= lambda x:x["age"],reverse=True) print(al)
"""
如何实现绝对值大小排序
"""
alist = [-5,-9,1,-6]
alist.sort(key=abs)
print(alist)
""" 对于字典 元组 集合 等元素 只能用内置sorted方法 """ dict_before = {‘a‘:3,"bc":5,‘c‘:3,‘asd‘:4,"33":56,"d":0} dict_after = sorted(dict_before.items(),key= lambda x:x[0]) print(dict(dict_after))
""" 给定一个嵌套的列表,分别按照第一个 第二个元素做排序 """ alist = [[1,2],[4,6],[3,1]] alist.sort(key= lambda x:x[0]) print(alist) alist.sort(key=lambda x:x[1]) print(alist)
列表常用的方法:
list.append(x) 把一个元素添加到列表的末尾
list.extend(L) 通过添加指定的列表所有的元素进行扩充列表
list.insert(i,x) 在指定位置插入一个元素
list.remove(x) 删除列表中值为x的元素,如果没有这样一个元素返回一个错误值
list.pop[i] 从列表指定位置移除元素
list.clear() 移除列表中所有项,等于del a[:]
list.index(x) 返回列表中第一个值为x的元素的索引
list.count(x) 返回x在列表中出现的次数
list.reverse() 对列表中的元素进行倒序
list.copy() 返回列表的浅拷贝
什么是列表生成式:
用来创建列表list的表达式 就是列表生成式,也被称为列表推导式,它相当于用for循环的简写形式。列表生成式返回的是一个列表,它提供了从序列创建列表的简单途径。
语法[表达式 for循环]
li = [x*x for x in range(10)] print(li)