Python基础(四)之序列
1、简介
序列的特点就是根据索引来获取序列中的元素,第一个索引为0,第二个索引为1,依次类推。
2、基本操作
2.1、索引
序列中的元素可以通过索引获取,索引从0开始。(序列可以使用倒叙,如 最后一个元素-1,倒数第二个-2,依次类推)
# 字符串s = 'Python'print(s[0])# Pprint(s[5])# nprint(s[-1])# n# 列表 nums = [1 ,2, 3, 4, 5]print(nums[0])# 1# 元组a = (1, 2, 3, 4)print(a[0])# 1
2.2、切片
切片:通过索引获取序列中的单个元素,而分片则是获取序列的部分元素。分片操作需要两个索引作为边界,中间用冒号相隔。
# 字符串s = ”hello Python”print(s[0:5])# helloprint(s[6:])# Pythonprint(s[:5])# helloprint(s[-6:])# Pythonprint(s[-6:-4])# Pyprint(s[-6:0])# 空的 左边索引的元素比右边索引出现得晚,返回空序列print(s[:])# hello Python 获取整个序列,可以将两个索引都置为空print(s)# hello Python# 列表nums = ['Python', 'hello', 'my']print(nums[0:2])# ['Python', 'hello']# 元组a = (9, 8, 7, 6, 5, 4)print(a[1:])# (8, 7, 6, 5, 4)print(a[0:2])# (9, 8)
【注】
切片有两个索引,第1个索引的元素是包含在内的,而第2个元素的索引 则不包含在内是一个左闭右开的区间
切片使用步长
切片的时候步长默认为1,是逐个获取,当然我们也可以自定义步长。
# 字符串s = ”hello Python”print(s[0:5])# hello 步长为 1,不写也可以,默认为 1 print(s[0:5:1])# hello 步长为 1,不写也可以,默认为 1 print(s[0:5:2])# hlo 步长为 2,取出 s[0], s[2], s[4]print(s[::3])# hlPh 步长为 2,取出 s[0], s[3], s[6], s[9]
当然步长也可以为负数, 表示从右到左获取元素
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]print(nums[0:4:-1])# []print(nums[4:0:-1])# [5, 4, 3, 2] print(nums[4:0:-3])# [5, 2]print(nums[::-1])# [9, 8, 7, 6, 5, 4, 3, 2, 1]print(nums[::-2])# [9, 7, 5, 3, 1]print(nums[6::-1])# [7, 6, 5, 4, 3, 2, 1]print(nums[:6:-1])# [9, 8]
总结
- 切片: 左索引:右索引:步长( leftIndex:rightIndex:step)
- 切片的左索引可以取出,右索引不可取出(左闭右开区间)
- 步长为正数时,从左向右取数据,步长为负数时,从右往左取数据
3、加法
序列可以进行加法操作。
s = ”hello Python!”print(s + s)# hello Python!hello Python!nums = ['hello', 'Python', '!']print(nums + nums)# ['hello', 'Python', '!', 'hello', 'Python', '!']a = (1, 2, 3, 4, 5)print(a + a)# (1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
【注】 序列的加法 必须是两个数据类型相同的才能进行加法操作
如下:
s = ”hello Python!”a = (1, 2, 3, 4, 5)print(a + s) '''Traceback (most recent call last): File ”test.py”, line 9, in print(a + s) ~~~^~~TypeError: can only concatenate tuple (not ”str”) to tuple'''
4、乘法
序列还可以进行乘法操作。
s = ”hello Python!”print(s * 2)# hello Python!hello Python!nums = ['hello', 'Python', '!']print(nums * 2)# ['hello', 'Python', '!', 'hello', 'Python', '!']a = (1, 2, 3, 4, 5)print(a * 2)# (1, 2, 3, 4, 5, 1, 2, 3, 4, 5)