Python列表的奇怪行为

2024-04-23 22:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么这段代码在Python解释器运行时不会抛出错误呢。你知道吗

a = ['A', 'B', 'C']
a[20:] = ['D', 'E']
print a

输出是['A', 'B', 'C', 'D', 'E']。我以为Python会在第二条语句中给我一个错误,因为a只有3个元素。这个特性在编码时有什么自然的用途吗?你知道吗


Tags: 代码元素编码错误特性语句用途解释器
1条回答
网友
1楼 · 发布于 2024-04-23 22:33:58

这就是python的工作原理。在python中,切片不会进行边界检查。它只是扩展你的列表,因为它是一个可变的对象。你知道吗

当您通过切片读取边界外的内容时,这也很有趣:

f = a[20:]

f将是一个空列表。你知道吗

相关问题 更多 >