python list学习笔记
list
list是一种有序的集合 //有些像C里的数组
list允许有多种类型,一个list里可以有数字,可以有字符串,元素也可以重复
>>> letter = ['A','B','C']
>>> letter
['A', 'B', 'C']
用len()函数可以获得list元素的个数
>>> len(letter)
3
可以通过索引访问列表里的元素
当索引超过范围时,会报IndexError错误
还可以通过切片方式访问元素
//在这有点问题,-1后面那个好像没有
<<<letter[0:1] #这个按照图片中就可以理解
<<<['A']
<<<letter[-2:-1] #不能在此倒着,前面那个也不可以
<<<['B']
<<<letter[-1:] #就是这有问题
#不指定后面那个索引就会默认到底,无论是正或负的索引
<<<['C']
#切片错误不会报错,只会返回一个空列表。
<<<letter[2:8]
<<<['C'] #这个也不会报错,而是返回索引到底的元素
<<<letter[ : :-1] #可以将列表倒序
#list[::]第三个参数,表示间隔数
<<<letter[0:3:2]
<<<['A', 'C']
可以通过append方法向列表中增加元素
>>> letter.append('D')
>>> letter
['A', 'B', 'C', 'D']
可以通过insert方法向指定位置添加元素,而原来该位置元素不会消失,而是向右移动
>>> letter.insert(0,0)
>>> letter
[0, 'A', 'B', 'C', 'D']
删除元素可以使用pop方法
>>> letter.pop() #不指定下标时,默认删除末尾元素,否则删除索引位置元素
'D'
>>> letter
[0, 'A', 'B', 'C']
还可以通过del语句
>>> del letter[0]
>>> letter
['A', 'B', 'C']
还可以使用remove方法,其参数是元素值,会删除,列表中第一次出现该元素的值
>>>letter.remove('A')
>>>letter
['B','C'] #这里是中途添加的,下面的letter列表元素还是ABC
还有一些列表的操作
>>> number = [0,1,2]
>>> a = number+letter #列表相加
>>> a
[0, 1, 2, 'A', 'B', 'C']
>>> letter*2
['A', 'B', 'C', 'A', 'B', 'C']
>>> 'A' in letter #判断元素是否在列表中
True
>>> for i in letter : #迭代
print i
A
B
C
>>>letter.index('A') #返回元素在列表中的第一个索引
0
>>>letter.count('A') #返回统计该元素在列表中出现的次数
1
>>>letter.reverse() #将列表元素反向,不同于[::-1]的是,
它是将该列表直接反向了,而不是反向获取
>>>letter
['C','B','A']
>>> letter
[7, 6, 4, 'C', 'B', 'A']
>>> letter.sort() #排序
>>> letter
[4, 6, 7, 'A', 'B', 'C']
>>>
列表函数
>>> max(letter) #按字母顺序排列,也就是和英语字典一样的排序方法,还有个min()
'C'
#这里试了点东西,我猜了个结论,列表里面的元素是有优先级的
,字符串的优先级高于数字型。如果列表里面既有字符串,
又有数字,那么max(list)返回的是字符串的最大值
>>> letter= ['A','B']
>>> num = [1,2]
>>> cmp(letter,num) #列表比较,从下标0开始,字母也就是按照字母顺序比较,前一个大返回1,小则返回-1,相等则返回0
1
>>> letter1 = ['A','C']
>>> cmp(letter,letter1)
-1
>>> cmp(letter1,letter)
1