美文网首页随时笔记
列表分片遇到的问题

列表分片遇到的问题

作者: 周周周__ | 来源:发表于2018-08-24 18:12 被阅读0次

    最近在列表的分片过程中遇到了一些问题

    在网上搜索了一些大神总结了比较难的一点也是面试过程容易出的部分

    基础的分片咱不说,说点不容易理解的

    a=list(i for i in range(1,11))
    print(a)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    
    a1 = a[8:3:-1]
    print(a1)# [9, 8, 7, 6, 5]    # 右-》左切片,step 为1,a[8]=9, a[7]=8, ... a[4]=5, 8-3=5个
    
    a2 = a[10:0:-2]
    print(a2)# [10, 8, 6, 4, 2]   # 右-》左切片, 切片的时候,不存在 index 越界情况,a[10]不存在,a[9]=10, a[7]=8, a[5]=6...
    
    #上面的10可以超出索引范围使用,下面的使用10为什么引用是分片引用是空???
    a3 = a[0:10:-2]     # start < end step 为负, 方向为右-》左,第一个是 a[0], a[0]的左边就再也没有值了。为空
    print(a3)# []
    
    a4 = a[::-2]        # a[:]表示去所有,step 为负就放方向啦
    print(a4)# [10, 8, 6, 4, 2]
    
    a5 = a[5::-2]       # 右-》左,等价 a[5:0:-2] a[5]=6, a[3]=4, a[1]=2
    print(a5)# [6, 4, 2]
    
    a6 = a[:5:-2]       # 右-》左, 等价与 a[9:5:-2] a[9]=10, a[7]=8
    print(a6)# [10, 8]
    
    图片.png

    相关文章

      网友评论

        本文标题:列表分片遇到的问题

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