当前位置:   article > 正文

【Python基础】Python数据容器(切片)_python数据框切片

python数据框切片

数据容器(序列)的切片

  • 序列:内容连续、有序,可使用下标索引的一类数据容器

    列表、元组、字符串,均可以视为序列

切片定义

在Python中,切片是一种非常方便的操作,它允许从列表、元组、字符串等序列类型中,获取一部分元素或子序列。

切片通过使用start、stop和step三个参数来指定要获取的元素范围。其中,start指定开始索引,stop指定结束索引(但不包括结束索引对应的元素),step指定步长(默认为1)。

下面是一些示例:

#字符串切片
s = 'Hello, World!'
print(s[7:])   # World!
print(s[0:5])  # Hello
print(s[::2])  # Hlo ol!

#列表切片
my_list = [1,2,3,4,5]
print(my_list[1:3])     # [2, 3]
print(my_list[::2])     # [1, 3, 5]

#元组切片
my_tuple = (1,2,3,4,5)
print(my_tuple[1:4:2])  # (2, 4)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

切片操作还可以用于复制序列,例如:

my_list = [1, 2, 3, 4, 5]
copy_list = my_list[:] #复制整个列表
print(copy_list)
  • 1
  • 2
  • 3

切片操作也可以用于修改序列中的元素,例如:

my_list = [1, 2, 3, 4, 5]
my_list[1:3] = [6, 7] #将第二和第三个元素替换为6和7
print(my_list)  # [1, 6, 7, 4, 5]
  • 1
  • 2
  • 3

总之,切片操作可以让我们更方便地处理序列类型的数据,是Python中非常实用的一种特性。

序列的常用操作 - 切片

序列支持切片,即:列表、元组、字符串,均支持进行切片操作

切片:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长] 取出的子序列不包含结束下标对应的元素

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空是做截取到结尾
  • 步长表示,依次取出元素的间隔
    • 步长1表示,一个个去元素
    • 步长2表示,每次跳过一个元素取
    • 步长N表示,每次跳过N-1给元素取
    • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

Tip:此操作不会影响序列本身,而是会得到一个新的秀娥(列表、元组、字符串)

"""
演示 对序列进行切片操作
"""
# 正向
# 对list进行切片,从1开始,4结束,步长1
my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4]   # 步长默认是1,所以可以省略不写   # 不包含结束下标(此处即下标为4的元素)的元素
print(f"结果1:{result1}")

# 对tuple进行切片,从头开始,到最后结束,步长1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result2 = my_tuple[:]  # 起始和结束不写表示从头到尾,步长为1可以省略
print(f"结果2:{result2}")

# 对str进行切片,从头开始,到最后结束,步长2
my_str = "01234567"
result3 = my_str[::2]  # 从头到尾,步长为2
print(f"结果3:{result3}")

运行效果:
结果1[1, 2, 3]
结果2(0, 1, 2, 3, 4, 5, 6)
结果30246
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
# 反向
# 对str进行切片,从头开始,到最后结束,步长-1
my_str = "01234567"
result4 = my_str[::-1]
print(f"结果2:{result4}")

# 对列表进行切片,从3开始,到1结束,步长-1
my_list = [0, 1, 2, 3, 4, 5, 6]
result5 = my_list[3:1:-1]
print(f"结果5:{result5}")

# 对元组进行切片,从头开始,到尾结束
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result6 = my_tuple[::-2]
print(f"结果6:{result6}")

运行效果:
结果476543210
结果5[3, 2]
结果6(6, 4, 2, 0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 练习案例:序列的切片实践
"""
序列的切片课后练习
my_str = "nohtyp1,ih" 取出python
"""
my_str = "nohtyp1,ih"
# 倒序字符串,切片取出
result1 = my_str[::-1][4:10]
print(f"方式1结果:{result1}")
# 切片取出,然后倒序
result2 = my_str[0:6][::-1]
print(f"方式2:{result2}")
# split分割”,“,replace替换1为空,倒序字符串
step1_list = my_str.split(",")
result3 = step1_list[0].replace("1", "")[::-1]
print(f"方式3:{result3}")

运行效果:
方式1结果:python
方式2:python
方式3:python
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

附:系列文章

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/767717
推荐阅读
相关标签
  

闽ICP备14008679号