上一节我们对Python列表已经有了基本的了解,但在实际开发中,还需要对list进行添加、修改、删除、查询等操作。本文先带你来学习如何向列表中添加元素。
Python给list列表添加元素的函数有:append()、extend()、insert()。其中append()和extend()在list列表末尾追加元素,insert()在list列表任意位置插入元素。以下是三者的具体区别:
append()函数会将元素添加到list的末尾,使用方式如下:
listname.append(data)
listname 表示要添加元素的列表,data 表示到添加到list末尾的数据,它可以是单个元素,也可以是列表、元组等。
举例如下:
tech = ['Python','Web','Spider']
#追加元素
tech.append('Big Data')
print(tech)
#追加元组,整个元组被当成一个元素
tech.append(('AI','ML','DL'))
print(tech)
#追加列表,整个列表也被当成一个元素
techappend(['RL','RPA'])
print(tech)
运行结果为:
['Python', 'Web', 'Spider', 'Big Data']
['Python', 'Web', 'Spider', 'Big Data', ('AI', 'ML', 'DL')]
['Python', 'Web', 'Spider', 'Big Data', ('AI', 'ML', 'DL'), ['RL', 'RPA']]
需要注意的是,当给 append() 函数传递list或者元组时,append() 函数会将它们视为一个整体元素添加到列表中。
那么如何给list列表末尾追加单个元素呢?这就需要用到 extend() 函数。
extend()函数是把元素追加到list列表的末尾。它不会把list或元组当成整体追加进去,而是把它们内部的元素一一添加到列表中。
extend() 函数的使用方式如下:
listname.extend(data)
listname 表示要添加元素的列表,data 表示到添加到list末尾的数据,它可以是单个元素,也可以是列表、元组等。
其中,listname 指的是要要添加元素的list列表;data 表示要添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。
请看以下实例:
tech= ['Python','Web','Spider']
#追加元素
tech.extend('Big Data')
print(tech)
#追加元组,元祖被拆分成多个元素
t = ('AI','ML','DL')
tech.extend(t)
print(tech)
#追加列表,列表也被拆分成多个元素
tech.extend(['RL','RPA'])
print(tech)
运行结果:
['Python', 'Web', 'Spider', 'B', 'i', 'g', ' ', 'D', 'a', 't', 'a']
['Python', 'Web', 'Spider', 'B', 'i', 'g', ' ', 'D', 'a', 't', 'a', 'AI', 'ML', 'DL']
['Python', 'Web', 'Spider', 'B', 'i', 'g', ' ', 'D', 'a', 't', 'a', 'AI', 'ML', 'DL', 'RL', 'RPA']
这里会看到,在追加字符串元素'Big Data'时,extend函数会将其当成两个元素追加进去。这是因为extend函数识别的是序列,在《Python 序列详解》一文我们已知字符串也是序列的一种,它的每个字符都是单个元素,所以extend会进行逐一追加。
append() 和 extend() 函数只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。
insert() 的语法格式如下:
listname.insert(index , obj)
其中,index 表示指定位置的索引值。insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。
当插入列表或者元祖时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。
append() 和 extend() 函数只能在列表的末尾插入元素而 insert() 函数可以在列表的任意位置插入元素。
insert() 的使用格式如下:
listname.insert(index , data)
index 表示要插入位置的索引值。也就是说,insert() 会将 data 插入到 listname 列表第 index 个元素的位置。
它的插入规则与 append() 函数一致,当插入列表或元组时,insert() 会将它们视为一个整体插入其中。
实例代码如下:
tech = ['Python','Web','Spider']
#插入元素
tech.insert(2, 'Big Data')
print(tech)
#插入元组,整个元祖被当成一个元素
t = ('AI','ML','DL')
tech.insert(2, t)
print(tech)
#插入列表,整个列表被当成一个元素
tech.insert(3, ['RL','RPA'])
print(tech)
#插入字符串,整个字符串被当成一个元素
tech.insert(0, "http://pythonjishu.com")
print(tech)
输出结果为:
['Python', 'Web', 'Big Data', 'Spider']
['Python', 'Web', ('AI', 'ML', 'DL'), 'Big Data', 'Spider']
['Python', 'Web', ('AI', 'ML', 'DL'), ['RL', 'RPA'], 'Big Data', 'Spider']
['http://pythonjishu.com', 'Python', 'Web', ('AI', 'ML', 'DL'), ['RL', 'RPA'], 'Big Data', 'Spider']
本文链接:http://task.lmcjl.com/news/3715.html