python list

列表和元组都属于序列,序列支持索引,分片和合并等操作,字符串属于特殊的不可变序列

 

列表的基本特点和操作

  常用方括号表示,例:[1,2,'abc']

  列表可以包含任意类型的对象:数字,字符串,列表,元组或其他对象

  列表是个有序序列

  列表可变,可添加或删除,列表的元素值也可以改变

  每个列表元素存储的是对象的引用,不是对象本身

 

1,创建列表

  (1)[]

  (2)list('abcd') --------->  ['a','b','c','d']

  (3)list(range(-2,3)) -->  [-2,-1,0,1,2,3]

  (4)list((1,2,3)) -------->  [1,2,3]

  (5)[x+10 for x in range(5) ----> [10,11,12,13,14]

2,基本操作符

  len()求长度

  + 合并

  * 重复  [1,2]*3  -------->  [1,2,1,2,1,2]

  迭代 for a in x:print(a)

  in 判断是否包含

  索引 x[0]表示列表第一个数据 x[-1]为从末尾开始索引

3,分片

  x[st:ed:step] 为st---ed-1  

  st省略      从第一个开始

  ed省略     到最后一个 

  step默认为1

 

  可以通过分片替换数据

  例:

  x=list((range(10))

  x[2:5]=[10,20]

  [0,1,10,20,5,6,7,8,9]

 

4,常用列表方法

  append()添加单个数据

  extend()添加多个数据    用字符串作参数时,分解逐个字符

  insert(position,x)在指定位置插入元素

  例:x=[1,2,3]

    x.insert(1,'abc') ----------> [1,'abc',2,3]

  remove() 删除列表指定值,若有重复元素则删除第一个

  pop(position) 无参数时删除并返回最后一个,有参数时返回偏移量为position的值并删除

        无效值时报错

  del x[st:ed]  del x[pos]   删除指定位置

  clear() 删除所有元素

  copy()复制列表对象

 

5,列表排序

  sort()   对同一类型排序,若包含多种类型,则会出错

  默认从小到大排序

  x.sort(reverse=True)  从大到小

  reverse()列表反转

  

  自定义排序

  

1 import functools
2 x=[3,4,1,2]
3 def fzy(x,y):
4     return y-x
5 x.sort(key=functools.cmp_to_key(fzy))
6 print(x)

 

  返回负数时前者优先,否则后者

 

posted @ 2020-10-06 09:47  Kaiser-  阅读(111)  评论(0编辑  收藏  举报