luojiyilong 发表于 2026-5-5 18:05:56

Python学习笔记2!

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

1、访问列表元素
如果我们想访问列表内某个元素的值,可以使用索引,具体写法如下:
#列表名[要查询元素的索引值]
a=
print(a)
在该例子中,我们创建了一个列表a,列表a包含的元素依次为1,2,3,4,5
然后,我们用print()函数输出了列表a中索引值为3的元素,相应元素为4
输出结果应为:
=========== RESTART:******==========
4

1、修改列表元素
如果我们想访问列表内某个元素的值,可以使用索引,具体写法如下:
#列表名[要更改元素的索引值]=要将该元素改为的元素
a=
a=3
print(a)
在该例子中,列表a的初元素始值依次为1,2,4,4,5
接下来,我们将列表a内索引值为2的元素改为了3,然后输出整个列表
输出结果应为:
=========== RESTART: ****** ==========

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

以下是一些在交互模式实现的例子,能使我们更全面的感受到如何使用对列表进行更改
>>>a=
>>>a-=1
>>>a+=2
>>>a=5
>>>a

>>>a=["Hello ",False,"abc",True,51,"World!",49]
>>>a==a
False
>>>a+=a
>>>a
["Hello World!",False,"abc",True,51,"World!",49]
>>>a-=a
>>>a
["Hello",False,"abc",True,2,"World!",49]


列表切片
列表切片,顾名思义,就是将列表切分,转化为几段
列表切片的格式如下:
#列表名[切片的起始元素索引:切片的结尾元素索引+1:相邻两个元素之间的间隔]
a=
print(a)
该例子中创建了一个列表a,并通过print()函数输出了列表a内从索引值为3的元素一直到索引值为7的元素组成的列表(第一个":"后是切片的结尾元素索引+1)
(注意:以上所有内容皆为选填,起始索引不填默认为0,结尾索引不填默认为列表长度,间隔不填默认为1)

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

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



FishC 发表于 2026-5-5 18:06:14

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

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

1. **列表创建时缺少元素**
   您写的a= 并没有给定具体元素,这会让代码无法运行。例如访问索引3之前,应该先定义列表,像下面这样:
   
   a =    # 注意要有完整的中括号和元素
   print(a)            # 输出 4
   

2. **修改元素时索引的写法**
   您写的a=3 在Python中是把整个a重新赋值为整数3,并不是修改列表里的某一个元素。正确的写法必须用索引:
   
   a =
   a = 3       # 将索引2的元素改为3(注意索引从0开始)
   print(a)       # 输出
   

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

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

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

a =
a =     # 正确,替换索引1的元素为10
a = 10      # 错误,因为10不是可迭代对象


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

fish =
print(fish)         # 输出
fish = ['a', 'b']# 替换两个元素
print(fish)            # 输出


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

luojiyilong 发表于 2026-5-5 18:12:17

不要看AI,是错的

FishC 发表于 2026-5-5 18:12:30

luojiyilong 发表于 2026-05-05 18:12
不要看AI,是错的

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

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

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

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

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: Python学习笔记2!