Python 切片

例题:回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数:

def is_palindrome(n):
    return str ( n ) == str ( n )[::-1]

if __name__ == '__main__':
    output = filter ( is_palindrome , range ( 1 , 1000 ) )
    print ( '1~1000:' , list ( output ) )

其中

return str ( n ) == str ( n )[::-1]

Python提供了切片(Slice)操作符

L = [‘Michael’, ‘Sarah’, ‘Tracy’, ‘Bob’, ‘Jack’]

取前3个元素,用一行代码就可以完成切片:

L[0:3]
[‘Michael’, ‘Sarah’, ‘Tracy’]

如果第一个索引是0,还可以省略:

L[:3]
[‘Michael’, ‘Sarah’, ‘Tracy’]

支持倒数切片(倒数第一个元素的索引是-1):

L[-2:]
[‘Bob’, ‘Jack’]
L[-2:-1]
[‘Bob’]

前10个数,每两个取一个:

L[:10:2]
[0, 2, 4, 6, 8]

所有数,每5个取一个:

L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

L[i:j] 表示复制L[i]到L[j-1],以生成新的list对象
当i缺省时,默认为0,即 L[:j]相当于 L[0:j]
当j缺省时,默认为len(list), 即a[1:]相当于a[1:最大]
当i,j都缺省时,L[:]就相当于完整复制一份L了

L[i:j:s],i,j与上面的一样,但s表示步进,缺省为1,a[i:j:1]相当于a[i:j]
当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1

return str ( n ) == str ( n )[::-1]

str[::-1]相当于 str[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍,进行反转。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值