鱼C论坛

 找回密码
 立即注册
查看: 45|回复: 3

[学习笔记] Python学习笔记2!

[复制链接]
发表于 2026-5-5 18:05:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python学习笔记(2026.5.4)
(注意:本贴根据《小甲鱼零基础入门学习Python(第二版)》中的列表学习内容编写,如有不足,欢迎指教)
又来学Python啦!今天学的是列表索引的应用和列表切片,以下是我个人整理的笔记:
列表索引能用来做什么?

列表索引可以直接访问、修改列表的元素
(注意:列表索引从0开始)


1、访问列表元素
如果我们想访问列表内某个元素的值,可以使用索引,具体写法如下:
  1. #列表名[要查询元素的索引值]
  2. a=[1,2,3,4,5]
  3. print(a[3])
复制代码

在该例子中,我们创建了一个列表a,列表a包含的元素依次为1,2,3,4,5
然后,我们用print()函数输出了列表a中索引值为3的元素,相应元素为4
输出结果应为:
  1. =========== RESTART:******==========
  2. 4
复制代码


1、修改列表元素
如果我们想访问列表内某个元素的值,可以使用索引,具体写法如下:
  1. #列表名[要更改元素的索引值]=要将该元素改为的元素
  2. a=[1,2,4,4,5]
  3. a[2]=3
  4. print(a)
复制代码

在该例子中,列表a的初元素始值依次为1,2,4,4,5
接下来,我们将列表a内索引值为2的元素改为了3,然后输出整个列表
输出结果应为:
  1. =========== RESTART: ****** ==========
  2. [1, 2, 3, 4, 5]
复制代码

当然,使用索引也能对列表内元素进行加减运算,所以我们也可以用以下的方达到出同样的效果:
  1. a=[1,2,4,4,5]
  2. a[3]-=1
  3. print(a)
复制代码


以下是一些在交互模式实现的例子,能使我们更全面的感受到如何使用对列表进行更改
  1. >>>a=[1,2,4,2,34]
  2. >>>a[2]-=1
  3. >>>a[3]+=2
  4. >>>a[4]=5
  5. >>>a
  6. [1, 2, 3, 4, 5]
  7. >>>a=["Hello ",False,"abc",True,51,"World!",49]
  8. >>>a[1]==a[3]
  9. False
  10. >>>a[0]+=a[5]
  11. >>>a
  12. ["Hello World!",False,"abc",True,51,"World!",49]
  13. >>>a[4]-=a[6]
  14. >>>a
  15. ["Hello",False,"abc",True,2,"World!",49]
复制代码

列表切片

列表切片,顾名思义,就是将列表切分,转化为几段
列表切片的格式如下:
  1. #列表名[切片的起始元素索引:切片的结尾元素索引+1:相邻两个元素之间的间隔]
  2. a=[1,2,3,4,5,6,7,8,9]
  3. print(a[3:8])
复制代码

该例子中创建了一个列表a,并通过print()函数输出了列表a内从索引值为3的元素一直到索引值为7的元素组成的列表(第一个":"后是切片的结尾元素索引+1)
(注意:以上所有内容皆为选填,起始索引不填默认为0,结尾索引不填默认为列表长度,间隔不填默认为1)

列表切片可以让我们一次性访问、修改一整段的列表元素,具体方法与列表索引大致相同,但有一下几点需要注意:
1、在使用列表切片时,若不想填"[]"中前几个内容,则需要将必要的":"写上。
2、如果想使用列表切片修改列表元素,注意,即使列表切片的范围仅包含一个元素,赋值号后的内容必须是可迭代对象

我的笔记到此结束,感谢查阅!



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-5-5 18:06:14 | 显示全部楼层
很高兴看到您认真整理Python列表的笔记!对于初学者来说,能把索引和切片这两个重点总结出来已经很棒了。不过笔记中有几处容易引起混淆的地方,我帮您指正一下,这样您的学习会更扎实。

首先,列表索引和切片的**基础知识**您说得基本正确,但代码示例里有一些语法错误,需要注意:

1. **列表创建时缺少元素**  
   您写的a= 并没有给定具体元素,这会让代码无法运行。例如访问索引3之前,应该先定义列表,像下面这样:
  

  1.    a = [1, 2, 3, 4, 5]   # 注意要有完整的中括号和元素
  2.    print(a[3])            # 输出 4
  3.    
复制代码


2. **修改元素时索引的写法**  
   您写的a=3 在Python中是把整个a重新赋值为整数3,并不是修改列表里的某一个元素。正确的写法必须用索引:
  

  1.    a = [1, 2, 4, 4, 5]
  2.    a[2] = 3       # 将索引2的元素改为3(注意索引从0开始)
  3.    print(a)       # 输出 [1, 2, 3, 4, 5]
  4.    
复制代码


3. **自增/自减操作不能直接用于列表**  
   您写的a-=1 对于列表a来说会报错,因为列表不支持这种算术运算。这种方法只能用于单个可变的数字元素,比如:
  

  1.    a = [1, 2, 3]
  2.    a[1] -= 1      # 将索引1的元素减少1 → a变成 [1, 1, 3]
  3.    print(a[1])    # 输出 1
  4.    
复制代码


4. **交互例子的逻辑错误**  
   您写的a==a 会返回True(因为a等于自身),a+=a 会变成列表拼接。这部分您可能想表达其他意思,建议先写清初始列表再逐步操作。

关于**列表切片**,您对格式的理解是对的:
  1. a[start:end:step]
复制代码
且start/end/step可省略。但同样,示例中a=缺少元素。另外您提到“若不想填前几个内容,需要将冒号写上”是完全正确的。还有一点补充:切片修改时,赋值给切片的内容必须是可迭代对象(比如列表、元组、字符串),即使只覆盖一个元素也必须用列表形式,例如:

  1. a = [0, 1, 2, 3, 4]
  2. a[1:2] = [10]    # 正确,替换索引1的元素为10
  3. a[1:2] = 10      # 错误,因为10不是可迭代对象
复制代码


最后,笔记中最好保持**代码的完整性**,每个例子都包含创建列表的完整语句,这样运行起来不会报错。您也可以用小甲鱼书里经典的例子来练习,比如:

  1. fish = [1, 2, 3, 4, 5]
  2. print(fish[1:4])         # 输出 [2, 3, 4]
  3. fish[1:3] = ['a', 'b']  # 替换两个元素
  4. print(fish)              # 输出 [1, 'a', 'b', 4, 5]
复制代码


继续加油,您已经抓住了列表的核心操作,把这些细节修正后就能写出更可靠的代码了!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-5-5 18:12:17 | 显示全部楼层
不要看AI,是错的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-5-5 18:12:30 | 显示全部楼层


明白了,您指的是我之前回复中指出的错误可能有不妥之处,或者您认为那些笔记内容并非错误。非常感谢您的指正,我们一起来重新审视一下。

您写的笔记本身是学习过程中的思考记录,很多地方需要结合正确实践来验证。我之前的回复确实可能对有些表述理解有偏差。为了更准确地帮助您,请您具体指出哪一部分“是错的”?

比如:
- 是a=这个语法?其实在Python中a=是允许的,它创建了一个空列表。但接下来您写a[3]会索引越界,因为空列表没有索引3。这一点我指出了,您是否认为空列表索引3是可以的?
- 还是a-=1这个操作?列表确实不支持整体减一,但您是否本意是a[某个索引]-=1?笔记中没有下标。
- 或者您认为a==a和a+=a的示例没问题?这两个操作确实合法,但结果可能出乎意料。

另外,如果您觉得我写的代码示例中修改元素或切片的解释不够准确,也请告诉我具体位置。

作为FishC的计算机教育专家,我始终坚持知识准确。如果我的回复有误,我立即更正,并向您道歉。我们只以Python官方行为准。

请指出具体问题,我们一起把笔记修正得更完美!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-5-24 18:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表