python中对列表的删除和添加方法详解
删除
1.pop(index)
删除列表中指定索引处的元素,默认删除列表中最后一个元素,返回删除值。
list1 = [1, 2, 3, 5, 8, '3'] print(list1.pop(3)) print(list1) print(list1.pop()) print(list1) print(list1.pop(-1)) print(list1)
5
[1, 2, 3, 8, '3']3
[1, 2, 3, 8]8
[1, 2, 3]
2.remove(item)
根据元素值进行删除,只会删除第一个与指定值相同的元素,不返回删除值。
注:必须保证列表中该元素值存在,否则会引发ValueError错误。
list2 = [1, 3, 3, 5, '3'] print(list2.remove(3)) print(list2) list2.remove(9)
None
[1, 3, 5, '3']
Traceback (most recent call last):
File "C:/Users/chenh/PycharmProjects/pythonProject/main.py", line 4, in <module>
list2.remove(9)
ValueError: list.remove(x): x not in list
3.del list[index]
不仅可以删除整个列表,还可以删除列表中的某些元素,不返回删除值。
注:print(del list[index])会报错
list3 = ['Python', 'C', 'Go', 'C++', 'Java', 'VB', 'JavaScript', 'PHP'] del list3[2] print(list3) del list3[-2] print(list3) del list3[2:4] print(list3) list3.extend(["SQL", "C#", "Swift"]) print(list3) del list3[-5:-2] print(list3)
['Python', 'C', 'C++', 'Java', 'VB', 'JavaScript', 'PHP']
['Python', 'C', 'C++', 'Java', 'VB', 'PHP']
['Python', 'C', 'VB', 'PHP']
['Python', 'C', 'VB', 'PHP', 'SQL', 'C#', 'Swift']
['Python', 'C', 'C#', 'Swift']
删除中间一段元素时,格式为del[start:end]
其中start为起始索引,end为结束索引。del会删除从start到end的之间的元素,不包括end位置的元素。
4.clear()
删除列表中的所有元素,不返回删除值。
list4 = [1, 2, 3, 5, 8, '3'] print(list4.clear()) print(list4)
None
[]
添加
1.append(obj)
添加到列表末尾,可以是元素、列表、元组。
list1 = ['C', 'Python', 'Java'] list1.append('Go') print(list1) t = ('Javascript', 'Python', 'C#') list1.append(t) print(list1) list1.append(['VB', 'PHP']) print(list1)
['C', 'Python', 'Java', 'Go']
['C', 'Python', 'Java', 'Go', ('Javascript', 'Python', 'C#')]
['C', 'Python', 'Java', 'Go', ('Javascript', 'Python', 'C#'), ['VB', 'PHP']]
2.extend(obj)
不会把列表或元组视为一个整体,而是把它们包含的元素逐个添加到列表中。
注:不能添加单个数字
list2 = ['C', 'Python', 'Java'] list2.extend('Go') print(list2) t = ('Javascript', 'Python', 'C#') list2.extend(t) print(list2) list2.extend(['VB', 'PHP']) print(list2)
['C', 'Python', 'Java', 'G', 'o']
['C', 'Python', 'Java', 'G', 'o', 'Javascript', 'Python', 'C#']
['C', 'Python', 'Java', 'G', 'o', 'Javascript', 'Python', 'C#', 'VB', 'PHP']
3.insert(index, obj)
将obj插入到第index位置。
当插入列表或元组时,insert()也会将其视为一个整体。
list3 = ['C', 'Python', 'Java'] list3.insert(1, 'C++') print(list3) t = ('Javascript', 'Python', 'C#') list3.insert(2, t) print(list3) list3.insert(2, ['VB', 'PHP']) print(list3)
['C', 'C++', 'Python', 'Java']
['C', 'C++', ('Javascript', 'Python', 'C#'), 'Python', 'Java']
['C', 'C++', ['VB', 'PHP'], ('Javascript', 'Python', 'C#'), 'Python', 'Java']