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

备考刷题,请到

CDA认证小程序

现需创建列表[0,2,4],下列哪种操作是正确的?
A. range(0,5,2)
B. list(range(5,2))
C. list(range(0,4,2))
D. list(range(0,5,2))
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

要创建列表 `[0, 2, 4]`,我们需要分析每个选项的结果:

- **A: `range(0,5,2)`**
- `range(0, 5, 2)` 会生成一个迭代器,表示从 0 开始到小于 5 的整数,步长为 2。
- 生成的序列为 `[0, 2, 4]`。
- 注意:`range()` 本身返回一个 `range` 对象,不是列表。

- **B: `list(range(5,2))`**
- `range(5, 2)` 表示从 5 开始到小于 2 的整数,因起始值大于终止值且未指定步长,默认步长为 1,因此生成的序列为空 `[]`。

- **C: `list(range(0,4,2))`**
- `range(0, 4, 2)` 生成一个迭代器,表示从 0 开始到小于 4 的整数,步长为 2。
- 生成的序列为 `[0, 2]`。
- 将该迭代器转换为列表后,结果为 `[0, 2]`,不符合目标 `[0, 2, 4]`。

- **D: `list(range(0,5,2))`**
- `range(0, 5, 2)` 生成一个迭代器,表示从 0 开始到小于 5 的整数,步长为 2。
- 生成的序列为 `[0, 2, 4]`。
- 将该迭代器转换为列表后,结果为 `[0, 2, 4]`,完全符合目标。

因此,选项 **D: `list(range(0,5,2))`** 是正确的选择。

### 专业分析

| 选项 | 代码 | 生成的序列 | 结果是否正确 |
|------|------|------------|--------------|
| A | `range(0,5,2)` | `[0, 2, 4]` | 否(需转换为列表)|
| B | `list(range(5,2))`| `[]` | 否 |
| C | `list(range(0,4,2))`| `[0, 2]` | 否 |
| D | `list(range(0,5,2))`| `[0, 2, 4]`| 是 |

选择 D 是因为它在范围和步长的设置上完全满足题目的要求,并且通过 `list()` 转换为列表,生成的结果也与目标列表相符。