在Python中,最基本的数据结构为序列。
Python中包含6种内建序列:字符串、列表、元组、Unicode字符串、buffer对象、xrange对象。
序列中的每个元素都有编号,即其位置或索引。
我们可以通过索引取序列的值,语法为序列[索引]
。
需要注意的是序列中的索引是从0开始的编号的。
切片索引中的0可以省略。
切片索引的最后一位可以省略。
普通索引:取一个元素。
切片索引:取多个元素。
4.13.1 普通索引:取一个元素
语法:序列[索引]
4.13.1.1 正索引
# 新建一个字符串变量
string = 'ABCDEFG'
# 取一个索引
string[0]
【终端输出】
‘A’
索引[0]对应的是第一字符,所以取到的值是A。
4.13.1.2 负索引
# 新建一个字符串变量
string = 'ABCDEFG'
# 取一个索引
string[-7]
【终端输出】
'A'
索引[0]和索引[-7]对应的都是同一个字符A。
4.13.2 切片索引:取多个元素
切片是指抽取多个元素。
语法:序列[前索引:后索引]
注意:切片索引含前不含后
。
# 新建一个字符串变量
string = 'ABCDEFG'
# 取第1个到第3个字符
string[0:3]
【终端输出】
'ABC'
4.13.2.1 切片索引中[0]可以省略不写:
# 新建一个字符串变量
string = 'ABCDEFG'
# 取第1个到第3个字符
string[:3]
【终端输出】
'ABC'
[:3]中冒号前的0省略了,指取第1个到第3个字符,值也是ABC。
4.13.2.2 切片索引中最后一位可以不写:
# 新建一个字符串变量
string = 'ABCDEFG'
# 取第4个到最后一个
string[3:]
【终端输出】
‘DEFG’
[3:]中冒号后没有数字,表示取到到最后一个,3对应第4个字符D,所以取到的是DEFG。
# 新建一个字符串变量
a = '我正在学数据分析'
# 取第2个到第3个字符
a[1:3]
【终端输出】
'正在'
4.13.2.3 列表、元组和字符串的取值方式是一样的:
# 新建列表
name_list = ['张三', '李四' ,'王五','赵六','孙七']
# 读第2个到第4个元素
name_list[1:4]
【终端输出】
[‘李四’, ‘王五’, ‘赵六’]
[1:4]中,索引[1]对应是第2个元素李四,索引[4]对应的是第5个元素孙七,索引4不取,因此输出[‘李四’, ‘王五’, ‘赵六’]。
4.13.3 取值技巧