← 2022 · MTK联发科 笔试

推荐答案 测试一下

[Python] list1 = [0,1,2,3.4.5],则list1[:-2]=?

简答题 中等 笔试真题

参考答案

原始列表定义 `list1 = [0,1,2,3.4.5]` 在 Python 中会引发 `SyntaxError`,因为 `3.4.5` 不是合法的数字字面量(多个小数点),且元素之间缺少逗号分隔。若题目意图为 `[0,1,2,3,4,5]`(即逗号分隔的整数列表),则 `list1[:-2]` 表示从索引 0 开始到倒数第二个元素(不含)的切片。列表索引从 0 开始,`-2` 指向倒数第二个元素(值为 4),切片范围为 `[0, 4)`,即取前 4 个元素 `[0,1,2,3]`。切片语法 `list[start:stop:step]` 默认 `start=0`、`step=1`,`stop=-2` 表示终止于索引 -2(倒数第二个元素之前)。注意切片是左闭右开,不包含 stop 索引对应的元素。若列表定义错误,则表达式无有效结果。常见考点:切片负索引的含义、切片边界的开闭性质、列表元素分隔符的正确写法。

涉及知识点

  • Python 列表切片语法
  • 负索引含义(从右向左数)
  • 切片左闭右开原则
  • 列表元素分隔符必须为逗号
  • 数字字面量合法性
登录后反馈错题
下一题 →