列表与数组:有序的收纳盒
创建列表/数组
加载代码编辑器中……
本质上一样的东西,只是名字不同:Python 叫 list,JS 叫 Array。
访问和修改元素
加载代码编辑器中……
| 操作 | Python | JavaScript |
|---|---|---|
| 第一个 | lst[0] | arr[0] |
| 最后一个 | lst[-1] | arr.at(-1) |
| 切片 | lst[1:3] | arr.slice(1, 3) |
注意
const声明的数组可以修改内容!const只是说"变量不能重新赋值",不是说"内容不能改"。就像你买了一个柜子(const),柜子不能换,但里面的东西可以换。
增删操作
加载代码编辑器中……
方法对照表
| 操作 | Python | JavaScript |
|---|---|---|
| 末尾添加 | .append(x) | .push(x) |
| 开头添加 | .insert(0, x) | .unshift(x) |
| 末尾删除 | .pop() | .pop() |
| 开头删除 | .pop(0) | .shift() |
| 指定位置删除 | .pop(i) | .splice(i, 1) |
| 按值删除 | .remove(x) | .splice(arr.indexOf(x), 1) |
| 合并 | a + b | [...a, ...b] |
常用方法
加载代码编辑器中……
🏋️AI 练习
给定一个成绩列表 [88, 92, 55, 77, 43, 95, 60, 82]:
- 按从高到低排序
- 找出最高分和最低分
- 筛选出不及格(< 60)的成绩
- 计算平均分
用 Python 和 JS 各写一版。尽量用推导式/map/filter 而不是 for 循环。
小结
| 概念 | Python (list) | JavaScript (Array) |
|---|---|---|
| 创建 | [1, 2, 3] | [1, 2, 3] |
| 长度 | len(lst) | arr.length |
| 添加 | .append() | .push() |
| 排序 | sorted() 不改原列表 | .sort() 改原数组 ⚠️ |
| 求和 | sum() | .reduce() |
| 包含 | x in lst | arr.includes(x) |
| 拼接 | " ".join(lst) | arr.join(" ") |