学习python list(列表)

  • Post author:
  • Post category:python




创建list对象

创建一个简单的列表可以采用中括号将列表括起来,逗号分隔

a=[1,2,3]

下面有两种方法创建一个空列表

a=[]
a=list()

同时可以用list()将迭代类型的对象转化为list

a=list(obj)

a=list(range(10))

将tuple转化为list

b=1,2,3
a=list(b)

将一个字典类型的索引或值转换为list

b={'a':1,'b':2,'c':3}
a=list(b.values())
c=list(b.keys())



添加对象到列表中

插入一个对象到列表中有如下两种直接方式

1.将一个对象插入到列表尾端

a.append(item)

item=1
a=list()
a.append(item)

2.将对象item 插入列表的location 位置

a.insert(location,item)

obj=1
a=[1,2,3]
a.insert(1,100) #插入100到第二个位置



将两个列表合并为一个列表

list对象的加号功能是将两个列表连接起来

x=[1,2,3]
y=[4,5]
c=x+y #合并x与y赋给c

用extend函数将会直接向列表添加队列,并且不返回值

x=[1,2,3]
y=[4,5]
x.extend(y)
//x中将会加入序列y

用__add__()函数将序列加入已有列表

b=a.__ add __(sequence)

l=[1,2] #或l=tuple(1,2)等
a=[]
a.__add__(l)



删除列表中的对象

pop函数,参数index代表删除的对象的索引

index默认为-1(代表最后一个元素)

list.pop(index=-1)

x=[1,2,3]
x.pop() #移除最后一个值
x.pop(0) # 移除第一个值

remove函数将会移除掉list里的第一个匹配的对象

list.remove(item)

x=[1,2,3,1]
x.remove(1) #移除列表中的第一个1,x变为[2,3,1]



其它的list对象方法

list.count(obj) 输出列表中含有的obj个数

list.reverse() 翻转列表的顺序,不返回值

list.sort(func=None,key=None,reverse=False)

list.index(obj)返回对象在列表的第一个索引

>>> l=[1,2,1,3]
>>> x.index(1)
1



列表解析

可以在创建列表的时候加入for循环使得代码更加简洁

>>> x=[y**2 for y in range(10)]
>>> x
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]



列表重复操作

将列表进行copies_int次重复

x=list([1,2,3])*copies_int

x=[1,2]
copies_int=2
c=x*copies_int #获得两次重复x,并赋值给c,[1,2,1,2]



判断成员是否存在in,not in

>>> x=[1]
>>> y=[2]
>>> 2 in x
False
>>> 2 in y
True



切片操作

sequence[1:] # 从第二个开始输出

sequence[::-1] # 倒序输出

sequence[::2] # 间隔一个输出

>>> x=[y**2 for y in range(10)]
>>> x
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> x[::2]
[0, 4, 16, 36, 64]
>>> x[1:]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> x[::-1]
[81, 64, 49, 36, 25, 16, 9, 4, 1, 0]
>>> x[1:3]
[1, 4]



版权声明:本文为qq_45078878原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。