python——列表操作函数和方法
1、添加新元素
1.1 append()函数
描述:append() 方法用于在列表末尾添加新的对象。
语法:list.append(obj)
参数:obj -- 添加到列表末尾的对象。
返回值:该方法无返回值,但是会修改原来的列表
1 >>> L=['Mike','Jane','Bob'] 2 >>> L 3 ['Mike', 'Jane', 'Bob'] 4 >>> L.append('Jack') 5 >>> L 6 ['Mike', 'Jane', 'Bob', 'Jack'] 7 >>>
1.2 insert()函数
描述:insert() 函数用于将指定对象插入列表的指定位置。
语法:list.insert(index, obj)
参数:
-
index -- 对象obj需要插入的索引位置。
-
obj -- 要插入列表中的对象。
返回值:该方法没有返回值,但会在列表指定位置插入对象。
1 >>> list1 = ['Google', 'Runoob', 'Taobao'] 2 >>> list1.insert(1, 'Baidu') 3 >>> print ('列表插入元素后为 : ', list1) 4 列表插入元素后为 : ['Google', 'Baidu', 'Runoob', 'Taobao'] 5 >>>
1.3 extend()
描述:extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
语法:list.extend(seq)
参数
-
seq -- 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。
返回值:该方法没有返回值,但会在已存在的列表中添加新的列表内容。
1 >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 2 >>> L1 = ['Mike', 'Dick'] 3 >>> L.extend(L1) 4 >>> L 5 ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick'] 6 >>>
追加元组:
>>> L2=(1,2,3) >>> L.extend(L2) >>> L ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick', 1, 2, 3] >>>
2、遍历元素
>>> L ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick', 1, 2, 3] >>> for i in L: ... print(i) ... Michael Sarah Tracy Bob Jack Mike Dick 1 2 3 >>>
3、删除元素
3.1 remove()
描述:remove() 函数用于移除列表中某个值的第一个匹配项。
语法:list.remove(obj)
参数
-
obj -- 列表中要移除的对象。
返回值:该方法没有返回值但是会移除列表中的某个值的第一个匹配项
>>> list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] >>> list1.remove('Taobao') >>> list1 ['Google', 'Runoob', 'Baidu'] >>>
注意:参数object 如有重复元素,只会删除最靠前的
>>> L=[1,2,2,3,4,5] >>> L.remove(2) >>> L [1, 2, 3, 4, 5] >>>
3.2 pop()函数
描述:pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
语法:list.pop([index=-1])
参数
-
index -- 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
返回值:该方法返回从列表中移除的元素对象。
>>> L=['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick'] >>> n=L.pop(1) >>> n#返回从列表中移除的元素对象 'Sarah' >>> L ['Michael', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick'] >>>
3.3 del
描述:可以删除整个列表或指定元素或者列表切片,list删除后无法访问。
>>> L=['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick'] >>> del L[0] >>> L ['Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick'] >>> del L[-2:] >>> L ['Sarah', 'Tracy', 'Bob', 'Jack'] >>>
4、reverse()函数
描述:reverse() 函数用于反向列表中元素。
语法:list.reverse()
参数
-
NA。
返回值:该方法没有返回值,但是会对列表的元素进行反向排序
>>> list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] >>> list1.reverse() >>> list1 ['Baidu', 'Taobao', 'Runoob', 'Google']
5、sort()函数
描述:sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法:list.sort( key=None, reverse=False)
参数
-
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
-
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值:该方法没有返回值,但是会对列表的对象进行排序。
默认参数按照ASCII码升序、降序排列:(先数字,后大写字母,再小写字母)
>>> list1 = ['Google', 'Runoob', 'Taobao', 'Baidu','jingdong','shunfeng','1','5','9'] >>> list1.sort() >>> list1 ['1', '5', '9', 'Baidu', 'Google', 'Runoob', 'Taobao', 'jingdong', 'shunfeng']
>>> list1.sort(reverse=True)
>>> list1
['shunfeng', 'jingdong', 'Taobao', 'Runoob', 'Google', 'Baidu', '9', '5', '1']
自定义排序对象;
按照列表元素的长度排列
>>> list1 = ['Google', 'Runoob.com', 'Taobao', 'Baidu','jingdong'] >>> list1.sort(key=lambda ele:len(ele)) >>> list1 ['Baidu', 'Google', 'Taobao', 'jingdong', 'Runoob.com'] >>>
6、index()函数
描述:index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
语法:index()方法语法:
str.index(str, beg=0, end=len(string))
参数
-
str -- 指定检索的字符串
-
beg -- 开始索引,默认为0。
-
end -- 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。
>>> L=['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack', 'Mike', 'Dick'] >>> L.index(Mike) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'Mike' is not defined >>> L.index('Mike') 5 >>> L.index('Bob',1,5)
3
>>>
7、其他列表函数
(1)len(list):列表元素个数
>>> list1 ['Baidu', 'Google', 'Taobao', 'jingdong', 'Runoob.com'] >>> len(list1) 5 >>>
(2)max(list):返回列表元素最大值
>>> list1 = ['Google', 'Runoob.com', 'Taobao', 'Baidu','jingdong']
>>> max(list1)
'jingdong'
>>>
(3)min(list):返回列表元素最小值
>>> L=['1','2','3','4','5'] >>> min(L) '1' >>>
(4)list(seq):将元组转换为列表
>>> t=(1,2,3,4,5) >>> L=list(t) >>> L [1, 2, 3, 4, 5] >>>