Python的索引与切片原来该这样理解
程序员文章站
2023-12-28 20:18:34
目录1. 普通索引:取一个元素1.1 正索引1.2 负索引2 切片索引:取多个元素2.1 切片索引中[0]可以省略不写:2.2 切片索引中最后一位可以不写:2.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个字符 a[1:3]
【终端输出】
'正在'
2.3 列表、元组和字符串的取值方式是一样的:
# 新建列表 name_list = ['张三', '李四' ,'王五','赵六','孙七'] # 读第2个到第4个元素 name_list[1:4]
【终端输出】
[‘李四’, ‘王五’, ‘赵六’]
[1:4]中,索引[1]对应是第2个元素李四,索引[4]对应的是第5个元素孙七,索引4不取,因此输出[‘李四’, ‘王五’, ‘赵六’]。
3 取值技巧
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!