数据结构:List(列表)
编码方式:
#-*- coding:utf-8 -*-
创建一个LIst
list = [1,3,5,7,9]使用index查询元素
list[1] = 3
list[3] = 30
del list[2]
#python脚本语言
print(len([1,2,3]))
#打印list的长度
print([1,2,3]+[5,6,7])
#组合list
print(["hello"]*4)
#重复
print(3 in [1,2,3])
#某元素是否在列表中
#列表的截取
list = ['a' , 'b' , 'c' , 'd']
print(list[1])
print(list[-2])
print(list[1:])
#列表操作包含一下函数
cmp(list1,list2)#比较俩个列表的元素
len(list)
#列表元素的个数
max(list)
#返回列表元素最大值
min(list)
#返回列表元素最小值
list(seq)
#将元组转换为列表
list.append(ob)
#在列表末尾添加新的对象
list.count(ob)
#统计某个元素在列表中出现的次数
list.extend(seq)
#在列表末尾一次性追加另一个序列的多个值(用新列表扩展原来的列表)
list.index(obj)
#从列表中找出某个值第一个匹配项的索引位置
list.insert(index,obj)
#将对象插入列表
list.pop(obj = list[-1])
#移除列表中的一个元素(默认是最后一个元素),并且返回该元素的值
list.remove(obj)
#移除列表中某个值的第一个匹配项
list.reverse()
#反向列表中元素
list.sort([func])
#对原列表进行排序
python中的排序
sorted(data,cmp = None, key = None, reverse = False)
#其中,data是待排序数据,可以使List或者iterator, cmp和key都是函数,这两个函数作用与data的元素上产生 一个结果,sorted方法根据这个结果来排序。
cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 < e2, 0: e1 == e2, 正数: e1 > e2. 默认为 None, 即用 内建的比较函数.
key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素.
通常, key 和 reverse 比 cmp 快很多, 因为对每个元素它们只处理一次; 而 cmp 会处理多次.
用 operator 函数来加快速度
例如:要想先按着index = 2排序,再按着index = 1排序,可以这样写:
from operator import itemgetter,attrgetter
student = [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
sorted(students, key=itemgetter(1,2)) # sort by grade then by age