zoukankan      html  css  js  c++  java
  • python:列表切片知识的总结

      列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点:

    ①、切片区间是左闭右开区间

    ②、切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数

    ③、默认步长是1,可增加第三个参数改变步长

    ④、步长是-1可以实现倒序切片

    ⑤、步长为正时,首末缺省下标分别为0和n;步长为负时,首末缺省下标分别为-1,-n-1

    例如:把123456789变成987654321

    # py面试:把123456789变成987654321
    # 考查切片知识,倒叙每一个数
    a=[1,2,3,4,5,6,7,8,9]
    b=a[::-1]
    print(b)

    输出:[9,8,7,6,5,4,3,2,1]

    -1表示倒序,b=a[::-1]等同于b=a[-1::-1],输出也是[987654321]

    1、取前三个元素:b=a[0:3],前面那个0可以省略

    a=[1,2,3,4,5,6,7,8,9]
    b=a[0:3]
    print(b)

    输出:[1,2,3]

    2、取出第1到3个元素:b=a[1:3]

    a=[1,2,3,4,5,6,7,8,9]
    b=a[1:3]
    print(b)

    输出:[2,3]

    3、b=a[-1]是取出a中最后一个元素,同样也支持倒数切片

    a=[1,2,3,4,5,6,7,8,9]
    b=a[-2:-1]
    print(b)

    输出:[8]

    4、从第一个开始,每两个取一个

    a=[1,2,3,4,5,6,7,8,9]
    b=a[0:10:2]
    print(b)

    输出:[1,3,5,7,9]

    5、直接复制一个list:b=a[:]

    a=[1,2,3,4,5,6,7,8,9]
    b=a[:]
    a[0]=100
    print(b)

    输出:[1,2,3,4,5,6,7,8,9]

    b=a不是真实的拷贝:

    a=[1,2,3,4,5,6,7,8,9]
    b=a
    a[0]=100
    print(b)

    输出:[100, 2, 3, 4, 5, 6, 7, 8, 9]

    6、切片除了操作list,也可以操作tuple和str

    # 操作tuple
    a=(1,2,3,4,5,6,7,8,9) b=a[:3] print(b)

    输出:(1, 2, 3)

    # 操作str
    a="123456789" b=a[:3] print(b)

    输出:123

    业精于勤而荒于嬉,勤劳一日,可得一日安眠;勤劳一生,可得幸福一生。因为,我们努力了;因为,天道酬勤。
  • 相关阅读:
    cf1100 F. Ivan and Burgers
    cf 1033 D. Divisors
    LeetCode 17. 电话号码的字母组合
    LeetCode 491. 递增的子序列
    LeetCode 459.重复的子字符串
    LeetCode 504. 七进制数
    LeetCode 3.无重复字符的最长子串
    LeetCode 16.06. 最小差
    LeetCode 77. 组合
    LeetCode 611. 有效三角形个数
  • 原文地址:https://www.cnblogs.com/Mr-choa/p/12633796.html
Copyright © 2011-2022 走看看