列表(list)是Python中非常重要且相当常用的数据类型,我们经常需要对列表中的元素进行增、删、改、查及进行相关运算。
1 list元素的增加
1.1 L.append(newItem)
在列表L末尾添加一个新的元素newItem(可以是数字类型、字符串类型,甚至列表类型)。
L1 = list(range(3))
print('最初的L1:', L1)
# 在列表L1末尾添加一个新的元素10
L1.append(10)
print('后来的L1:', L1)
L2 = list('我爱学')
print('最初的L2:', L2)
# 在列表L2末尾添加一个新的元素'Python'
L2.append('Python')
print('后来的L2:', L2)
# 把列表L2整体作为一个元素添加到L1末尾
L1.append(L2)
print('把L2添加到L1:', L1)
# 需要注意的是:因为列表是可变的数据类型(以后我们会专门讲到),
# 前面append进去的其实是对L2的引用,
# 所以,我们修改L2,同样会影响到L1。
L2[0] = '我们'
print('修改L2同时也影响L1:', L1)
# 运行结果如下所示:
最初的L1: [0, 1, 2]
后来的L1: [0, 1, 2, 10]
最初的L2: ['我', '爱', '学']
后来的L2: ['我', '爱', '学', 'Python']
把L2添加到L1: [0, 1, 2, 10, ['我', '爱', '学', 'Python']]
修改L2同时也影响L1: [0, 1, 2, 10, ['我们', '爱', '学', 'Python']]
1.2 L.insert(index, newItem)
在列表L索引值为index的位置插入一个新的元素newItem(可以是数字类型、字符串类型,甚至列表类型)。
L = list(range(3)) # [0, 1, 2]
print('最初的L:', L)
# 在列表L索引值为2的位置插入一个数字3
L.insert(2, 3) # [0, 1, 3, 2]
print('2的位置插入3:', L)
# 在列表L索引值为-1的位置插入一个数字4
L.insert(-1, 4) # [0, 1, 3, 4, 2]
print('-1的位置插入4:', L)
# 运行结果如下所示:
最初的L: [0, 1, 2]
2的位置插入3: [0, 1, 3, 2]
-1的位置插入4: [0, 1, 3, 4, 2]
1.3 L.extend(seq)
参数seq本身是一个列表(严格讲,应该是一个可迭代的对象,关于迭代,以后再细讲),通过该函数调用,把seq中的所有元素一一取出来,作为新元素,批量追加到列表L末尾。
L1 = list('Py')
print('原L1:', L1)
L2 = list('thon')
print('原L2:', L2)
L1.extend(L2)
L1.extend(range(1, 4))
print('最终的L1:', L1)
# 运行结果如下所示: