Python的索引与切片原来该这样理解
目录
- 1. 普通索引:取一个元素
- 1.1 正索引
- 1.2 负索引
- 2 切片索引:取多个元素
- 2.1 切片索引中[0]可以省略不写:
- 2.2 切片索引中最后一位可以不写:
- 2.3 列表、元组和字符串的取值方式是一样的:
- 3 取值技巧
- 总结
在python中,最基本的数据结构为序列。
Python中包含6种内建序列:字符串、列表、元组、Unicode字符串、buffer对象、xrange对象。
序列中的每个元素都有编号,即其位置或索引。
我们可以通过索引取序列的值,语法为序列[索引]
。
需要注意的是序列中的索引是从0开始的编号的。
切片索引中的0可以省略。
切片索引的最后一位可以省略。
普通索引:取一个元素。
切片索引:取多个元素。
1. 普通索引:取一个元素
语法:序列[索引]
1.1 正索引
# 新建一个字符串变量 string = 'ABCDEFG' # 取一个索引 string[0]
【终端输出】
‘A’
索引[0]对应的是第一字符,所以取到的值是A。
1.2 负索引
# 新建一个字符串变量 string = 'ABCDEFG' # 取一个索引 string[-7]
【终端输出】
'A'
索引[0]和索引[-7]对应的都是同一个字符A。
2 切片索引:取多个元素
切片是指抽取多个元素。
语法:序列[前索引:后索引]
注意:切片索引含前不含后
。
# 新建一个字符串变量 string = 'ABCDEFG' # 取第1个到第3个字符 string[0:3]
【终端输出】
'ABC'
2.1 切片索引中[0]可以省略不写:
# 新建一个字符串变量 string = 'ABCDEFG' # 取第1个到第3个字符 string[:3]
【终端输出】
'ABC'
[:3]中冒号前的0省略了,指取第1个到第3个字符,值也是ABC。
2.2 切片索引中最后一位可以不写:
# 新建一个字符串变量 string = 'ABCDEFG' # 取第4个到最后一个 string[3:]
【终端输出】
‘DEFG’
[3:]中冒号后没有数字,表示取到到最后一个,3对应第4个字符D,所以取到的是DEFG。
# 新建一个字符串变量 a = '我正在学数据分析' # 取第2个到第3个http://www.cppcns.com字符 a[1:3]
【终端输出】
'正在'
2.3 列表、元组和字符串的取值方式是一样的:
编程客栈# 新建列表 name_list = ['张三', '李四' ,'王五','赵六','孙七'] # 读第2个到第4个元素http://www.cppcns.com name_list[1:4]
【终端输出】
[‘李四’, ‘王五’, ‘赵六’]
[1:4]中,索引[1]对应是第2个元素李四,索引[4]对应的是第5个元素孙七,索引4不取,因此输出[‘李四’, ‘王五’, ‘赵六’]。
3 取值技巧
总结
本篇文章就http://www.cppcns.com到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容! &编程客栈nbsp;
精彩评论