关于python学习过程中—步长踩到坑

本文讲述了在学习Python中如何正确使用字符串和列表切片时遇到的困惑,特别是关于步长为负数时的倒序输出。作者指出,理解步长为负数意味着从后向前取值是关键,正确的用法如`s[5:2:-1]`和`list[5:2:-1]`用于倒序输出。
摘要由CSDN通过智能技术生成

步长

  1. 可以给切片添加步长来控制切片的方向

    s = "我爱你"
    print(s[::-1])

  2. 语法

    s[start:end;step]

    表示从 start 切到 end , 每 step 个元素出来一个元素

    s = "sbcdefghigkrst"
    print(s[1:10:3])

    image-20240206165312360

  3. 如果最后一个为负数的话,为倒数,取最右边的

踩到的坑

学习字符串的时候学到了步长,步长可以为负数,默认为正数1。

在list的学习中同样是有步长这个概念的,在尝试写代码的过程中发现了我对步长为负数时的一个错误用法:

  • 出错思路:

    想要从3-5倒着输出

    print(s[3:5:-1])

    但是发现什么都输出不了,也没有报错

  • 正确思路:

    因为步长是负数的时候倒着数,那么人类思路是3-5倒着数,那换种思路就是5-3来进行逐个输出,python能接受的就是第二种情况。在他的理解中

    print(s[5:3:-1])

    才是正确可以执行的

  • 例子

    list = ["ccc", "ddd", "eee", "fff", "aaa", "www"]
    print(list[1:3])
    print(list[5:2:-1])
    ​
    s = "abcdefghijklmnopqrstuvwxyz"
    print(s[3:6:-1])
    print(s[5:2:-1])

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值