Python slice() 函数用法


一、slice() 函数参数

在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。
slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
slice() 函数返回 slice 对象(切片)。slice 用于指定如何对序列进行裁切。

slice(start, end, step)

参数描述
start可选。整数,指定在哪个位置开始裁切。默认为 0。
end可选。整数,指定在哪个位置结束裁切,裁切结果不包含索引为end的值。
step可选。整数,指定裁切的步进值(间距)。默认为 1。

二、使用示例

代码如下(示例):

#对元组切片
>>>a = ("a", "b", "c", "d", "e", "f", "g", "h")
>>>x = slice(2)#定义一个slice() 函数,用于在切片操作时传递参数
>>>x
slice(None, 2, None)
>>>a[x]
('a', 'b')
>>>y= slice(3,5)
>>>y
slice(3, 5, None)
>>>a[y]
('d', 'e')
>>>z=slice(0, 8, 3)
>>>z
slice(0, 8, 3)
>>>a[z]
('a', 'd', 'g')
>>>o=slice(0,-1) #-1表示左后一个位置的索引
>>>a[o]
('a', 'b', 'c', 'd', 'e', 'f', 'g')
>>>p=slice(-2,-1) 
>>>a[p]
('g',)

#对列表/字符串切片
>>>st='I love China!'
>>>st[x]
'I '
>>>st[y]
'ov'
>>>st[z]
'Io '

#对numpy数组进行切片
>>>import numpy as np
>>>arr=np.arange(1, 10)  #一维数组切片
>>>arr
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>>arr[x]
array([0, 1])
>>>arr=arr.reshape(3,3) #二维数组切片
>>>arr
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>>arr[:,x] #行取所有行,列按照x取前2列
array([[1, 2],
       [4, 5],
       [7, 8]])

#对torch中tensor进行切片
>>>import torch
>>>t = torch.arange(1, 17).view(4, 4)
>>>t
tensor([[ 1,  2,  3,  4],
        [ 5,  6,  7,  8],
        [ 9, 10, 11, 12],
        [13, 14, 15, 16]])
>>>t[x,:]    #行按照x取前2行,列取所有列
tensor([[1, 2, 3, 4],
        [5, 6, 7, 8]])


总结

总结了Python slice() 函数用法,并展示了一些常见用法。

参考

Python slice() 函数(W3school)
Python slice() 函数|菜鸟教程

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值