Python中内置的一种数据类型list,列表。list是一个有序集合,所谓有序集合就是可以通过Key或者Index进行访问(无序集合,集合的元素只能遍历,比如set)。list能随时随地进行增加和删除。python中list用[ ]进行表示。例如:
```
friends = ['fanbinbin','libinbin','xijinping']
len(friends)
```
可以通过len(list),获取到list的长度。(len(str)得到字符串的个数,len(dict)获取到key-value的组数)
list可以通过数组下标index进行访问,例如:
```
>>>friends[0]
'fanbinbin'
>>>friends[-1]
'xijinping'
>>>friends[-2]
'libinbin'
```
下标为-1的时候,将得到最后一个数组。还可以friend
list的主要操作有。
```
L.append(var) #增加一个元素var
L.pop() #默认是L.pop(-1),会删除最后一个元素。当然也可以指定删除L.pop(Index)
L.insert(Indext, var) #在指定位置,增加指定元素
L.remove(var) #删除第一次出现在的该元素。L=[1,2,2,3] L.remove(2) L = [1,2,3]
L.sort() #对L进行排序,有asckii码从小到大排序。或者也可以自定义cmp函数
L.sort() #对L进行倒序 ,按照index索引进行倒序(从最后一个开始到第一个进行排序)
L.extend(var) #和另一个var进行合并,var可以为list,也可以是字符串。但是是字符串的应该用append。
L.count(var) #统计var出现在list中的数据。
```
当然List是可以嵌套的。
```
L = [1,2,3,4,[5,6,7],8] #此时其实是个二维数组
len(L) = 6
L[4][1] = 6
```
python中list还有个非常重要的功能切片操作。
L[a:b:c]
c为省略是,会默认是1。是step,步进数
c为正数时,会从左往右进行切割,a,b若是省略,分别代表第一个,和最后一个。若a的index >b的index,返回空,很好理解,a跑到b的右边去了,从左往右找不到。
c为负数指,会从右往左进行切割,a,b若是省略,分别代表最后一个,和第一个。若a的index < b的index
返回空,同样理解,a都跑到b的左边去了,从右往左肯定找不到。
a = [1,2,3,4,5,6]
a[0] =1
a[1:2]=2
最后一个数是 -1
a[-1] = 6 返回的是整形数
a[-2 : -1] = [5] (返回的是一个list)
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]