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
posted @ 2018-01-31 13:15  时空-  阅读(266)  评论(0编辑  收藏  举报