新建
lst = []
初始化
lst = [1,2,3,4,5]
索引
lst[0] - 获得第0个元素
lst[1,2] - 获得从索引1开始到索引2-1处结束, 结果是[2]
lst[1,1] - [] 索引1开始到索引1-1处结束, 所以不包含任何内容
lst[1,0] - 也是一样为空
lst[1,-1] - 这就不一样了, 会得到[2,3,4] 因为是从倒数第一个索引-1的位置结束
lst[-1,-1] - [] 空
lst[-2,-1] - [4], 倒数第二个元素
lst[1:] - 输出 [2,3,4,5]
数组与数组相加 - 合并
l1 = [1,2]
l2 = [3,4]
l1+l2 = [1,2,3,4]
数组翻倍
l1 = [1]*4 - 得到[1,1,1,1]
数组长度
len(lst)
判断是否存在值
3 in [1,2,3] - 返回True
遍历
for k in [3,2,4]:
- k 分别输出3, 2 , 1
打印数组
print(lst)
比较数组
cmp(l1,l2) - 比较每个元素是否相等
获得最大值
max(lst)
最小值
min(lst)
转换序列为list
list(seq)
一些常用api
append(obj) - 添加值到列表尾
count(obj) - 计算值出现多少次
extend(seq) - 添加序列到列表尾
index(obj) - 找到值并返回第一个结果
insert(index,obj) - 插入值到指定位置
list.pop(obj=list[-1]) - 移除最后一个值, 或者列表中某个位置值
remove(obj) - 移除掉列表中的某个值
reverse() - 反向
排序
list.sort(cmp=None, key=None, reverse=False) - 排序
默认排序
aList = [123, 'Google', 'Runoob', 'Taobao', 'Facebook'];
List : [123, 'Facebook', 'Google', 'Runoob', 'Taobao']
降序
vowels = ['e', 'a', 'u', 'o', 'i']
vowels.sort(reverse=True)
降序输出: ['u', 'o', 'i', 'e', 'a']
按照自定义排序
def takeSecond(elem):
return elem[1]
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
random.sort(key=takeSecond)
排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]
cmp参数
list.sort(cmp=lambda x,y:y-x)
key参数
key也是接受一个函数,不同的是,这个函数只接受一个元素,key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序,例如我们根据字符串长度来排序:
list.sort(key=lambda x:len(x))