Python中索引和切片的区别
在本文中,我们将解释Python中索引和切片之间的区别。
索引和切片仅适用于序列数据类型。序列类型中插入元素的顺序被保留,使我们可以通过索引和切片访问其元素。
总之,python的序列类型有list, tuple, string, range, byte和byte arrays。索引和切片适用于所有这些类型。
索引
“索引”一词是指基于可迭代对象内部的位置引用一个元素。
索引从0开始。序列中的第一个元素由索引0表示。
负索引从-1开始。序列中的最后一个元素由索引-1表示。
字符串中的每个字符都对应一个索引号,并且每个字符都可以通过其索引号访问。有两种方法可以访问字符串中的字符
- 使用正索引访问字符串字符
-
使用负索引访问字符串字符
使用正索引访问字符串中的字符
在这种情况下,我们通过方括号传递正数索引(我们希望访问的索引)。 索引号序列从0开始。(代表字符串的第一个字符)。
例子
输出
使用负索引访问字符串字符
在这种类型的索引中,我们通过方括号传递负索引(我们要访问的索引)。这种情况下,索引号从-1开始(表示字符串的最后一个字符)。
例子
输出
列表中的索引
例子
输出
注意
当我们尝试使用不存在或太大的索引时,会抛出 IndexError
示例
输出
切片
术语“ 切片 ”是指基于它们的索引从可迭代对象中获取子集元素。
我们通过切片创建一个子字符串,它实际上是存在于另一个字符串中的字符串。当我们只需要字符串的一部分而不是整个字符串时,我们使用切片。
语法
参数
字符串切片
输出
元组切片
我们可以使用元组切片。与使用字符串和列表的方式类似。元组切片用于获取各种物品。我们也使用切片操作符来执行元组切片。切片操作符可以用语法表示
语法
示例
输出
索引 vs 切片的区别
下表显示了Python中索引和切片的主要差异-
索引 | 切片 |
---|---|
它只返回1个项目 | 它返回一个新的list/tuple |
如果尝试使用太大的索引,则会抛出IndexError。 | 用于切片时,处理超出范围的索引。 |
我们不能通过项赋值在索引中更改列表的长度。 | 通过将项分配给切片,可以更改列表的长度甚至将其清除。 |
我们可以将单个元素或可迭代项分配给索引。 | 当我们将单个元素分配给切片时,会出现TypeError。它只接受可迭代项。 |
结论
通过示例,我们学习了Python中索引和切片之间的区别。