python list 数组基础

新建

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))

你可能感兴趣的:(python list 数组基础)