为了创建一个列表 \([0, 1, 2]\),我们需要分析给出的四个选项中的每一个:
| 选项 | 代码 | 结果 | 解释 |
|------|------|------|------|
| A | `range(2)` | `range(0, 2)` | 这是一个 range 对象,从 0 开始到 2(不含 2),因此它表示 [0, 1]。需要用 `list()` 转换成列表。 |
| B | `list(range(3))` | `[0, 1, 2]` | 这个代码正确地创建了一个从 0 开始到 3(不含 3)的 range 对象,并将其转换为列表 [0, 1, 2]。 |
| C | `list(range(0,2))` | `[0, 1]` | 这个代码创建了一个从 0 开始到 2(不含 2)的列表,结果为 [0, 1]。 |
| D | `range(0,2)` | `range(0, 2)` | 这是一个 range 对象,表示 [0, 1],同样需要用 `list()` 转换成列表。 |
**正确答案**是 B: `list(range(3))`。它会生成一个从 0 到 2 的列表,即 [0, 1, 2],符合题目要求。