python列表多种切片操作

python 切片

使用格式

python切片使用范围包括:列表,元组,字符串

为什么切片和 区间会忽视最后一个元素

例如:

L=[1,2,3,4,5,6]
L[:2]#在下标为2的地方分割
[1, 2]

只是因为python、c和其它语言一样下标都从0开始。
好处:

  • 可以快速看出切片和区间有几个元素,如range(3)和my_list[:3]都返回3个元素。
  • 可以快速看出切片区间和长度
  • 可以用任意一个下标,获得不重复的片段,如
>>>L=[20,30,40,50,60,70]
>>>L[:2]
[20,30]
>>>L[2:]
[40,50,60,70]

对对象进行切片

我们可以用s[a:b;c]对s对象进行在a和b的区间以间隔为c的间隔取值,且c可以为负数,负数代表反过来取值

>>>L=[20,30,40,50,60,70,80]
>>>L[::-1]
[80,70,60,50,40,30,20]
>>>L[2::2]
[40,60,80]

多维切片和省略

[]运算符可以使用逗号分开多个索引或者切片,numpy的库就用到这个特性。

X=[[1,2,3,4],[5,6,7,8],[9,0,11,12]]
'列表调用多维值'
X[2][2]
'输出'
11
'列表转换为数组'
X=np.array(X)
'数组调用多维值'
X[2][2]
'输出'
11
'还可以是这样的'
X[2,2]
'输出'
11

给切片赋值

把切片放在赋值语句左边,或者做为del操作对象 时,我们可以对序列进行嫁接,切除,修改操作。
注意:如果赋值的对象是切片,那么右侧的赋值语句必须是可迭代的对象。如:

L=[20,30,40,50,60,70,80]
L[2:3]=100
'会出现下文的错误’
TypeError                                 Traceback (most recent call last)
<ipython-input-19-ce8f28f73e75> in <module>
      1 L=[20,30,40,50,60,70,80]
----> 2 L[2:3]=100
      3 
      4 

TypeError: can only assign an iterable
'正确的使用方法是'
L[2:3]=[100]
>>>[20, 30, 100, 50, 60, 70, 80]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值