转载自:http://www.sandzhang.com/blog/2010/04/14/python-container-list/
熟悉编程的人都知道,除了基本数据类型,最常用的就要数集合容器了,Python中集合容器类型有4种,分别是List,tuple,set,dict,下面详细介绍一下其中List的用法
- 定义及初始化生成List对象
testList = []
或者
testList = ['a','b','c']
- 从List中取出对象,类似其他开发语言中的数组用法用listname[index],代表从前开始取第index个对象(第一个从0开始记),不同的是多了一种用负数取对象listname[-index],代表从后开始取第index个对象(第一个从-1开始记)
testList[0]取出为a
testList[-1]取出为c
其实负数取法可以换算为:t
- 从List中截取部分对象生成新List:listname[fromIndex:toIndex]代表取出索引从fromIndex到toIndex,但不包括toIndex的元素,这个也叫做List的分片
testList[0:2]取出从0开始到第2个元素但不包括testList[2],所以结果就相当于取出了testList[0]和testList[1]组合成的新List
结果为['a','b']
‘:’两边的值可以省略,前面省略代表0,后面省略代表List长度
testList[0:2]相当于testList[:2]
- 向List添加对象有3种方法
1)向List后面添加一个对象:listname.add(obj)
例:
testList = ['a','b','c']
testList.add('d')
结果testList为['a','b','c','d']
2)向List中间指定索引位置插入一个对象:listname.insert(index,obj)
例:
testList = ['a','b','c']
testList.insert(2,'d')
结果testList为['a','b','d','c']
3)向List中添加一个List中的多个对象,相当于两个List相加:listname.extend(listname2)
例:
testList = ['a','b','c']
testList2 = ['d','e']
testList.extend(testList2)
结果testList为['a','b','d','c','d','e']
- 判断某个对象是否在List中:obj in listname
例:
testList = ['a','b','c']
'a' in testList结果为True
- 在List中搜索对象:listname.index(obj)
注:如果List中存在多个相同obj,则返回的是首次出现的索引,如果List中不存在该对象会抛出异常,所以查找对象之前一定要先判断一下对象是否在List中,以免引起程序崩溃
例:
testList = ['a','b','c']
testList.index('a')结果为0
- 删除List中的对象:listname.remove(obj)
注:如果List中存在多个相同obj,则删除的是首次出现的对象,如果List中不存在该对象则会抛出异常,所以在删除之前也要判断对象是否在List中
例:
testList = ['a','b','c','a']
testList.remove('a')
结果testList为['b','c','a']
- 对List进行运算
1)相加:listname1 + listname2
注:结果为新生成一个List,并没有修改之前的两个List
例:['a','b'] + ['c','d']结果为['a','b','c','d']
2)倍数:listname*n
例:['a','b']*2结果为['a','b','a','b']
基本常用方法就这些,如有问题请留言或直接联系我,一定尽力解答!
作者: Sand@Desert专注于程序开发、系统架构、性能优化
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。