Python中list的总结

*ytho*中内置的一种数据类型l*st,列表。l*st是一个有序集合,所谓有序集合就是可以通过Key或者I*dex进行访问(无序集合,集合的元素只能遍历,比如set)。l*st能随时随地进行增加和删除。pytho*中l*st用[ ]进行表示。例如:

fr*e*ds = ['fa*b**b**','l*b**b**','x*j**p***']
le*(fr*e*ds)


可以通过le*(l*st),获取到l*st的长度。(le*(str)得到字符串的个数,le*(d*ct)获取到key-value的组数)
l*st可以通过数组下标**dex进行访问,例如:

&*t;&*t;&*t;fr*e*ds[0]
'fa*b**b**'
&*t;&*t;&*t;fr*e*ds[-1]
'x*j**p***'
&*t;&*t;&*t;fr*e*ds[-2]
'l*b**b**'

下标为-1的时候,将得到最后一个数组。还可以fr*e*d

l*st的主要操作有。

L.appe*d(var)  #增加一个元素var
L.pop() #默认是L.pop(-1),会删除最后一个元素。当然也可以指定删除L.pop(I*dex)
L.**sert(I*dext, var) #在指定位置,增加指定元素
L.remove(var)  #删除第一次出现在的该元素。L=[1,2,2,3]   L.remove(2)  L = [1,2,3]
L.sort()  #对L进行排序,有asck**码从小到大排序。或者也可以自定义cmp函数
L.sort()  #对L进行倒序 ,按照**dex索引进行倒序(从最后一个开始到第一个进行排序)
L.exte*d(var)  #和另一个var进行合并,var可以为l*st,也可以是字符串。但是是字符串的应该用appe*d。
L.cou*t(var)  #统计var出现在l*st中的数据。

当然L*st是可以嵌套的。

 L = [1,2,3,4,[5,6,7],8] #此时其实是个二维数组
le*(L) = 6
L[4][1] = 6

pytho*中l*st还有个非常重要的功能切片操作。

L[a:b:c]

c为省略是,会默认是1。是step,步进数
c为正数时,会从左往右进行切割,a,b若是省略,分别代表第一个,和最后一个。若a的**dex &*t;b的**dex,返回空,很好理解,a跑到b的右边去了,从左往右找不到。
c为负数指,会从右往左进行切割,a,b若是省略,分别代表最后一个,和第一个。若a的**dex < &*bsp;b的**dex
返回空,同样理解,a都跑到b的左边去了,从右往左肯定找不到。

a = [1,2,3,4,5,6]
a[0] =1
a[1:2]=2
最后一个数是 -1
a[-1] = 6 &*bsp; &*bsp; &*bsp; 返回的是整形数
a[-2 : -1] = [5] (返回的是一个l*st)
a[ : 2] = [1,2] 前两个数
a[-2 : ] = [5,6] 后两个数
a[ : -2]=[1,2,3,4] 表示从第0个开始,一直到倒数第二个数为止
a[-2 : 1] = []
a[-2 : 2] = []
a[:2:-1] = [6,5,4]

posted on 2016-09-14 13:50  nevergonedream  阅读(74)  评论(0)    收藏  举报

导航