zoukankan      html  css  js  c++  java
  • 序列的复杂切片问题

      切片的步长默认都是1,当步长为正数时,从左往右取数值,此时起始值(start)要小于终止值(end);当步长为负数时,从右往左取值,此时的起始值(start)要大于终止值(end)。

      当起始值(start)或终止值(end)为负数时,表示从右往左看。

    >>> s = 'abcdefgh'
    >>> s[:6:2]    # 从左往右取值
    'ace'
    >>> s[1:7:-1]    # 步长为负数,从右往左取值,此时的起始值(start)要大于终止值(end)。又因为1<7,所以什么也没有去到,返回空字符串
    ''
    >>> s[1:-2:2]    # 起始值(start)或终止值(end)为负数时,表示从右往左看,所以此时终止值为-2却会比起始值为1要大
    'bdf'
    >>> s[1:-2:-2]
    ''

      反转:

    >>> s1 = s[::-1]    # 返回一个新值
    >>> s1
    'hgfedcba'
    >>> s     # 原数据不变
    'abcdefgh'

      s[ : : -1]的本质是从右边(负号表示反方向)看这个列表,然后按照步长为1取列表中的元素,并生成新的列表;若果将-1换成1,就是从左边看这个列表。

      其他序列:元组、列表类似。

  • 相关阅读:
    冲刺(六)
    冲刺(五)
    冲刺(四)
    团队产品开发
    冲刺(三)
    冲刺(二)
    冲刺(一)
    电梯演讲,模型展示
    校园健康行的NABCD分析
    团队博客
  • 原文地址:https://www.cnblogs.com/wgbo/p/9580638.html
Copyright © 2011-2022 走看看