您的位置:首页 > 编程语言 > Python开发

Python学习笔记3―Python列表

2014-10-29 23:04 399 查看
一、列表定义
python列表是python内置的数据对象之一
列表是用"[]"包含,内有任意的数据对象,每一个数据对象
以","分割,每个数据对像称之为元素
python列表是一个有序的序列
python列表支持任意的嵌套,嵌套的层次深度没有限制

a=[]    #空列表
print a
a=["seq1","seq2",'keyman',808,3.1]  #创建列表
print a
a=list('abcsgr')    #list函数创建列表
print a
a=['a',['b','c'],'d']   #列表嵌套
print a
执行结果为

[]
['seq1', 'seq2', 'keyman', 808, 3.1]
['a', 'b', 'c', 's', 'g', 'r']
['a', ['b', 'c'], 'd']


二、列表的分片操作(游标)
列表是有序的序列,支持索引操作,或者按照元素寻找索引
列表的索引是从0开始,以此类推
['s', 't', 'r', 'i', 'n', 'g', 's'][0:-1:2] 操作方法和字符串的操作方法一样,返回的为列表
['s', 't', 'r', 'i', 'n', 'g', 's'][0]根据索引的位置,查找索引对应的元素,返回的为字符串
a=list('Python,nihao')
print a
print a[0:7:2]
print a[3]
执行结果为

['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
['P', 't', 'o', ',']
h


三、列表方法
1.list.append(object)
append是将新的元素附加到列表内,附加的位置在列表最后
append追加的元素只能是一个元素,不能进行多元素同时操作
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.append('!')
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!']
2.list.count(value)
统计每个对象在列表的对象中出现的次数
返回值为number
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!']
>>> print a.count('n')
2
>>> print a.count('b')
0
3.list.extend(iterable)
扩展列表,将可迭代的对象进行差分,将其追加到列表
iterable是指可迭代的对象
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!']
>>> a.extend('Hello!')
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!', 'H', 'e', 'l', 'l', 'o', '!']
4.list.index(value, [start, [stop]])
根据列表内的元素查找元素所对应的索引
返回值为number
可选参数start stop指在什么范围内查找(具体用法和字符串的游标操作一样)
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.index('a')
10
>>> a.index('h',5)
9
>>> a.index('h',4,9)

Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
a.index('h',4,9)
ValueError: 'h' is not in list
>>> a.index('h',4,10)
9
>>>
5.list.insert(index, object)
在给定的索引位置上,插入相对应的对象,对象可以是任意的
insert方法相当于list[6:6]=object,不等价于list[6]=object
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.insert(6,'6')
>>> print a
['P', 'y', 't', 'h', 'o', 'n', '6', ',', 'n', 'i', 'h', 'a', 'o']
>>> a[6]='7'
>>> print a
['P', 'y', 't', 'h', 'o', 'n', '7', ',', 'n', 'i', 'h', 'a', 'o']
>>> a[2:2]='d'
>>> a
['P', 'y', 'd', 't', 'h', 'o', 'n', '7', ',', 'n', 'i', 'h', 'a', 'o']
6.list.pop(index)
弹出列表内的元素,并删除该元素,默认是最后一个
index参数指定弹出指定索引对应的元素
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.pop(3)
'h'
>>> print a
['P', 'y', 't', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.pop()
'o'
>>> print a
['P', 'y', 't', 'o', 'n', ',', 'n', 'i', 'h', 'a']
>>> a.pop(a.index('y'))
'y'
>>> print a
['P', 't', 'o', 'n', ',', 'n', 'i', 'h', 'a']
7.list.remove(value)
删除指定的元素,元素应当是在列表中存在,若值不存在引发ValueError
>>> print a
['P', 'y', 'd', 'h', 'o', 'n', '7', ',', 'n', 'i', 'h', 'a']
>>> a.remove('n')
>>> print a
['P', 'y', 'd', 'h', 'o', '7', ',', 'n', 'i', 'h', 'a']
>>> a.remove('p')

Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
a.remove('p')
ValueError: list.remove(x): x not in list
8.list.reverse()
将列表内元素顺序前后对调
reverse不是反排序
>>> print a
['P', 'y', 'd', 'h', 'o', '7', ',', 'n', 'i', 'h', 'a']
>>> a.reverse()
>>> print a
['a', 'h', 'i', 'n', ',', '7', 'o', 'h', 'd', 'y', 'P']
9.list.sort()
将列表的内的元素进行排序
排序的顺序为0-9,A-Z,a-z
reverse=True反排序
>>> a=list('afsdfbADGDSFSD214325325')
>>> a.sort()
>>> print a
['1', '2', '2', '2', '3', '3', '4', '5', '5', 'A', 'D', 'D', 'D', 'F', 'G', 'S', 'S', 'a', 'b', 'd', 'f', 'f', 's']
>>> a.sort(reverse=True)
>>> print a
['s', 'f', 'f', 'd', 'b', 'a', 'S', 'S', 'G', 'F', 'D', 'D', 'D', 'A', '5', '5', '4', '3', '3', '2', '2', '2', '1']
10.list[index]=value和del list[index]
list[index]=value:给列表中的指定的游标赋值
del list[index]:删除列表中的指定的游标的值
>>> a=list('abc123456')
>>> print a
['a', 'b', 'c', '1', '2', '3', '4', '5', '6']
>>> a[3]='A'
>>> print a
['a', 'b', 'c', 'A', '2', '3', '4', '5', '6']
>>> del a[3]
>>> print a
['a', 'b', 'c', '2', '3', '4', '5', '6']


本文出自 “Raffaele” 博客,请务必保留此出处http://raffaele.blog.51cto.com/6508076/1569456
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: