[导读]列表是Python程序设计中使用最为频繁的数据类型。列表是程序中一组有序数据的集合,可以包含其他各种类型的数据以及它本身。<br\>列表的增删改查操作以及操作的效率在程序设计中起到了至关重要的作用。
声明与创建
列表是Python程序设计中使用最为频繁的数据类型。列表是程序中一组有序数据的集合,可以包含其他各种类型的数据以及它本身。<br\>
- 列表的声明与创建是使用逗号","把不同的数据项分割开来,并使用括号括起来就可以。同Java一样,
字符串的默认索引值是从0开始。我们可以使用索引值增删改查指定索引的数值。 - 列表的创建可以使用Python内置函数list来实现;list的作用是将一个序列转换为列表。
举例说明:
#-*-coding:utf-8-*- ''' Created on 2015年10月24日 @author: Administrator ''' print "列表内置列表式定义:" li=[1,2,3,[4,5]] print li; print "根据已有序列生成列表:" msg="hello world" li=list(msg); print li;
访问元素
- Python列表的访问可以通过元素索引进行访问,也可以使用切片方式进行访问。
- 切片方式的语法为L[[start]:[end][:step]]
- start可以不设定,默认为0
- end可以不设定,默认为最大索引值。也可以为负数,表示最大索引值减去该负数的绝对值.
- step可以不设定,默认为1;表示步长
#-*-coding:utf-8-*- ''' Created on 2015年10月24日 @author: Administrator ''' print "列表内置列表式定义:" li=[1,2,3,[4,5]] print li; print "获取索引2的元素:" print li[2] print "通过切片方式获取元素:" print "1-start不设定:" print li[:3] print "2-end不设定:" print li[1:] print "3-end为负值:" print li[1:-1] print "2-step为2:" print li[::2]
通过切片访问元素时时,索引值获取的元素是半封闭的,只获取到索引值为[start,end)内的元素。
增加元素
增删改查是列表不可或缺的操作,是列表的基础,同时也是程序设计中必然涉及到的操作。元素的增加有以下几种方式:
- 通过逻辑运算符"+"进行操作。
- 通过内置函数append,append的参数作为新列表中的一个元素.
- 通过内置函数insert,insert的参数为指定在指定的索引添加的数值.当索引值大于最大索引值时在最后添加该数值。
- 通过内置函数extend,extend 等价于"+"运算符
举例说明:
#-*-coding:utf-8-*- ''' Created on 2015年10月24日 @author: Administrator ''' print "逻辑运算符+连接两个列表:" li=[1,2,3]+[4,5,6] print li print "使用内置方法append:" li.append([7,8,9]) print li print "使用内置方法insert:" li.insert(100,9) print li print "使用内置方法extend:" li.extend([1,2,3]) print li
删除元素
删除元素是将列表中的某个元素或某些元素删除。元素的删除有以下几种方式:
- 使用内置方法del按照元素的索引删除某个元素
- 使用内置方法del删除方括号截取的某些元素。
- 使用内置方法remove按照元素的值删除某个元素。
- 使用内置方法pop按照元素的索引删除某个元素并返回该元素的值;若不给定元素的索引,默认删除最后一个元素.
举例说明:
#-*-coding:utf-8-*- ''' Created on 2015年10月24日 @author: Administrator ''' print "逻辑运算符+连接两个列表:" li=[0,1,2,3,4,5,6,7,8,9] print li print "删除第3个元素:" del li[3] print li li=[0,1,2,3,4,5,6,7,8,9] print "删除第4到第7个元素:" del li[4:8] print li li=[0,1,2,3,4,5,6,7,8,9] print "删除值为8的元素:" li.remove(8) print li li=[0,1,2,3,4,5,6,7,8,9] print "使用pop方法:" li.pop(4) print li li.pop() print li
修改元素
修改元素的值可以修改某个元素,也可以修改某些元素。
- 按照元素的索引值修改某个元素的值
- 根据切片修改某一些元素的值,原理和上面的一直
举例说明:
#-*-coding:utf-8-*- ''' Created on 2015年10月24日 @author: Administrator ''' li=[0,1,2,3,4,5] print "修改所以值为3的元素的值:" li[3]=10 print li li=[0,1,2,3,4,5] print "修改【2,5)的值:" li[2:5]=[100,200] print li
查找元素
查找元素一般用于判断或者统计某个元素的出现次数,再或者某个元素的索引值。下面我们来一一学习者几种情况:
- 判断某个值是否是列表的元素:使用关键字in/not in
- 统计某个值出现的次数,使用内置函数count
- 查找某个元素的索引值,使用内置函数index
举例说明:
#-*-coding:utf-8-*- ''' Created on 2015年10月24日 @author: Administrator ''' li=[0,1,2,3,4,5,1,4] print "判断值3是否在列表中:" print 3 in li print "判断值10是否在列表中:" print 10 in li print "4出现的次数:" print li.count(4) print "10出现的次数:" print li.count(10) print "4的索引值:" print li.index(4) #值4不存在于列表中,程序抛出ValueError #print li.index(10)
其他操作
- 清空列表:1)直接置空:li=[] 2)内置函数del li[[start]:[end]]
- 赋值列表:1)li2=li[:]
- 列表长度:len(li)
- 便利列表:
- 直接for循环:for value in list
- 遍历索引值:for index,value in enumerate(list)