美文网首页2019--Python
Python第六堂笔记--切片

Python第六堂笔记--切片

作者: 六个周 | 来源:发表于2019-01-09 21:58 被阅读43次

    一、对list进行切片


    L = ['Adam', 'Lisa', 'Bart', 'Paul'],对于List进行操作,取前三个元素:

    >>> [L[0],L[1],L[2]]
    ['Adam', 'Lisa', 'Bart']
    

    取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:

    >>> r = []
    >>> n = 3
    >>> for i in range(n):
    ...     r.append(L[i])
    ... 
    >>> r
    ['Adam', 'Lisa', 'Bart']
    

    对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。
    对应上面的问题,取前3个元素,用一行代码就可以完成切片:

    # L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.
    >>> L[0:3]
    # 如果第一个索引是0,还可以省略:
    >>> L[1:3]
    # 只用一个 : ,表示从头到尾:(因此,L[:]实际上复制出了一个新list。)
    >>> L[:]
    # 切片操作还可以指定第三个参数:第三个参数表示每N个取一个
    >>> L[::2]
    

    任务
    range()函数可以创建一个数列:
    >>> range(1, 101)
    [1, 2, 3, ..., 100]
    请利用切片,取出:
    1.前10个数;
    2.3的倍数;
    3.不大于50的5的倍数。

    二、倒序切片


    对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片

    任务
    利用倒序切片对 1 - 100 的数列取出:

    • 最后10个数;
    • 最后10个5的倍数。

    三、对字符串进行切片


    字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串
    在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。

    字符串有个方法 upper() 可以把字符变成大写字母:
    >>> 'abc'.upper()
    'ABC'
    但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。
    提示:利用切片操作简化字符串操作。

    相关文章

      网友评论

        本文标题:Python第六堂笔记--切片

        本文链接:https://www.haomeiwen.com/subject/kldnrqtx.html