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) = 6L[ 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) 收藏 举报
浙公网安备 33010602011771号