Python基础(四)之序列

Python基础(四)之序列

1、简介

序列的特点就是根据索引来获取序列中的元素,第一个索引为0,第二个索引为1,依次类推。

2、基本操作

2.1、索引

序列中的元素可以通过索引获取,索引从0开始。 (序列可以使用倒叙,如 最后一个元素-1,倒数第二个-2,依次类推)

# 字符串
s = 'Python'
print(s[0]) # P
print(s[5]) # n
print(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]) # hello
print(s[6:]) # Python
print(s[:5]) # hello
print(s[-6:]) # Python
print(s[-6:-4]) # Py
print(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]

当然步长也可以为负数, 表示从右到左获取元素

列表123456789
索引012345678
倒索引-9-8-7-6-5-4-3-2-1
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 <module>
    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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值