Python -- 切片、迭代

作者: 2023开始学 | 来源:发表于2019-02-24 19:40 被阅读9次

    切片

    1、取一个list或tuple的部分元素,采用切片方式:
    L[0:3]:表示从索引0开始取,直到索引3为止,但不包括3

    如果第一个索引是0,可以省略。如 L[:3]
    
    L=list(range(1,20))
    print('L:',L)
    print('下面这个很重要,倒序取出列表中所有的值,-1表示倒序')
    print('L[::-1]:',L[::-1])#倒序取所有值
    print('L[::-1][:3]:',L[::-1][:3])#先倒序,然后取前三个值
    print('L[:3]:[::-1]',L[:3][::-1])#先取前三个值,然后倒序排列
    print("     ")
    print('L[0:10]:',L[0:10])#索引值从0开始
    print('L[:10]:',L[:10])#索引值从0开始,,那么0可以省略
    print('L[1:12]:',L[1:12])#索引值从1开始
    print('L[3:12]:',L[3:12])
    print('L[1:20:2]:',L[1:20:2])#索引值从1开始,,每2个数取一个
    print('L[1:20:5]:',L[1:20:5])#索引值从1开始,,每5个数取一个
    print('     ')
    print('倒数切片:')
    print('L[-3:-1]:',L[-3:-1])#索引为-3,-2,共计2个元素
    print('L[-3:]:',L[-3:])#索引为-3,-2,-1,共计3个元素
    print('L[-3:0]:',L[-3:0])  #这种有问题,上面一行省略的是代表什么
    

    运行结果如下:


    image.png

    2、tuple也可用切片操作,只是操作结果仍是tuple
    3、字符串也可用切片操作,字符串也可看做一个list,每个字符就是一个元素
    4、很多编程语言中,针对字符串的各种截取函数,目的就是对字符串切片。
    Python没有针对字符串的截取函数,只需要切片一个操作即可实现。

    迭代

    1、如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)
    2、C语言和JAVA中是通过下标进行迭代
    Python的for循环抽象程度高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。
    3、list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代
    默认迭代的是key: for k in d.keys( )
    迭代值values:for v in d.values( )
    迭代k, v: for k, v in d.items( )
    4、由于字符串也是可迭代对象,因此,也可以作用于for循环

    相关文章

      网友评论

        本文标题:Python -- 切片、迭代

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