考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

要删除列表a中的最后一项,以下写法中错误的是?
A. pop()
B. a.remove(-1)
C. del a[-1]
D. a = a[:-1]
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

在给定的选项中,我们需要分析每个方法在删除列表 `a` 中最后一项时的正确性。

1. **A: `pop()`**
- 使用 `pop()` 方法时,如果不提供参数,默认会删除并返回列表中的最后一个元素。
- 示例:
```python
a = [1, 2, 3]
a.pop() # 结果是 a = [1, 2]
```
- 这是正确的用法。

2. **B: `a.remove(-1)`**
- `remove(x)` 方法会删除列表中值为 `x` 的第一个元素,而不是索引。
- 误用:`a.remove(-1)` 会试图删除列表中值为 `-1` 的元素,如果不存在这样的值,会引发 `ValueError`。
- 示例:
```python
a = [1, 2, 3]
a.remove(-1) # ValueError,未找到值为 -1 的元素
```
- 这是错误的用法。

3. **C: `del a[-1]`**
- `del` 语句用于删除列表中指定位置的元素,`a[-1]` 指的是列表的最后一个元素。
- 示例:
```python
a = [1, 2, 3]
del a[-1] # 结果是 a = [1, 2]
```
- 这是正确的用法。

4. **D: `a = a[:-1]`**
- 通过切片来舍弃掉最后一个元素,并重新赋值给 `a`。
- 示例:
```python
a = [1, 2, 3]
a = a[:-1] # 结果是 a = [1, 2]
```
- 这是正确的用法。

综上所述,选项 **B: `a.remove(-1)`** 是错误的。正确答案是 B。