编辑列表
增加列表元素
方法 | 操作描述 |
---|---|
append(object) | 在列表末尾添加一个元素 |
extend(object) | 在列表末尾至少添加一个元素 |
insert(index, object) | 在列表的任意位置处添加一个元素 |
slice 切片 | 在列表任意位置至少添加至少一个元素 |
append
方法
python
l = [1, 2]
l.append("hello")
print(l) # [1, 2, 'hello']
注意: 增加列表元素操作前后列表的标识没有改变,即:
type(l)
的值一致。
python
l = [1, 2]
l.append("hello")
print(l) # [1, 2, 'hello']
l2 = ["hello", "world"]
l.append(l2)
print(l) # [1, 2, 'hello', ['hello', 'world']]
以上操作 l2
将作为一个元素添加到 l
列表中。
extend
方法
extend
方法会在原列表末尾处一次性添加多个元素。
python
l = [1, 2]
l2 = ["hello", "world"]
l.extend(l2)
print(l) # [1, 2, 'hello', 'world']
也可以通过加法操作对两个列表达到合并的效果。
python
list1 = [1, 2, 3, ]
list2 = ['a', 'b', 'c', ]
print(list1 + list2) # [1, 2, 3, 'a', 'b', 'c']
insert
方法
insert
方法可以在列表指定索引处添加元素,第一个参数为需要添加的元素所在索引,第二个参数是待添加的元素。
python
l = [1, 2]
l.insert(1, "hello")
print(l) # [1, "hello", 2]
slice 切片
python
l = [1, 2]
l2 = ["hello", "world"]
l[1:] = l2
print(l) # [1, 'hello', 'world']
删除列表元素
方法/其他 | 操作描述 |
---|---|
remove(item) | 一次删除一个元素 重复元素仅删除第一个 元素不存在时抛出 ValueError 异常 |
pop(index) | 删除一个指定索引位置的元素 指定索引不存在时抛出IndexError异常 不指定索引则删除列表最后一个元素 |
切片操作 | 一次至少删除一个元素 会产生新的列表 |
clear() | 清空列表元素 |
remote
方法
一次删除一个元素
pythonl = [1, 2, 3, 1, 2, 3] l.remove(1) print(l) # [2, 3, 1, 2, 3]
如果存在重复元素仅删除匹配到的第一个元素
删除一个不存在的元素抛出
ValueError
错误pythonl = [1, 2, 3, 1, 2, 3] l.remove(10) # ValueError: list.remove(x): x not in list
pop
方法
删除指定索引位置的元素
pythonl = [1, 2, 3, 1, 2, 3] print(l.pop(1)) # 2 print(l) # [1, 3, 1, 2, 3]
返回值为指定索引对应的操作。
删除不存在的索引抛出 IndexError 错误
pythonl = [1, 2, 3, 1, 2, 3] l.pop(10) # IndexError: pop index out of range
不指定索引参数,删除列表最后一个元素
pythonl = [1, 2, 3, 1, 2, 3] print(l.pop()) # 3 print(l) # [1, 2, 3, 1, 2]
切片方式
- 不改变原列表
- 默认产生的新列表为切片对应的列表结果
- 使用空列表赋值给切片后的结果,则会改变原列表
python
l = [1, 2, 3, 1, 2, 3]
print(l) # 1. [1, 2, 3, 1, 2, 3]
print(l[1:3]) # 2. [2, 3]
l[1:3] = [] # 3.
print(l) # [1, 1, 2, 3]
清除列表中所有元素
python
l = [1, 2, 3, 1, 2, 3]
l.clear()
print(l) # []
修改列表元素
为指定索引的元素赋予一个新值
python
l = [1, 2, 3, 4]
l[2] = 30 # 将索引为 2 的元素赋值为 30
print(l) # [1, 2, 30, 4]
使用索引修改元素一次仅修改一个值
为指定的切片赋予新列表值
python
l = [1, 2, 3, 4]
l[1:] = [20, 30, 40, 50, 60]
print(l) # [1, 20, 30, 40, 50, 60]
对列表乘法操作
python
l = [1, 2, 3]
print(l * 2) # [1, 2, 3, 4, 1, 2, 3, 4]
反转列表元素
- 使用
reverse()
方法
python
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
l.reverse()
print(l) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
- 使用切片方式
python
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
拷贝列表
copy()
方法拷贝列表,对原列表的操作不会影响拷贝后的列表。
python
l = [1, 2, 3]
l2 = l.copy()
del l[1]
print(l2) # [1, 2, 3]