zoukankan      html  css  js  c++  java
  • python切片练习

    这块儿没什么难的,细心一点就好

    L = []
    n = 1
    while n <= 99:
        L.append(n)
        n = n + 2
    print(L)
    #但是在Python中,代码不是越多越好,而是越少越好。代码不是越复杂越好,而是越简单越好。
    
    #基于这一思想,我们来介绍Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。请始终牢记,代码越少,开发效率越高。
    
    L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
    #取前三个元素的方法
    print([L[0], L[1], L[2]])
    #['Michael', 'Sarah', 'Tracy']
    
    #循环方法取元素
    r = []
    n = 3
    for i in range(n):
        r.append(L[i])
    print(r)
    #['Michael', 'Sarah', 'Tracy']
    
    #对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。
    
    #对应上面的问题,取前3个元素,用一行代码就可以完成切片:
    print(L[0:3])
    #['Michael', 'Sarah', 'Tracy']
    #L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
    
    #如果第一个索引是0,还可以省略:
    print(L[:3])
    #['Michael', 'Sarah', 'Tracy']
    #倒着切片
    print(L[-2:]) #-2到0不包括0(当然不可能包括0, 倒数第一个元素的索引是-1, 注意到0的时候不能写,否则会输出[])
    print(L[-2:-1])  #-2到-1不包括-1,即只有倒数第二个元素
    #记住倒数第一个元素的索引是-1。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
    #切片操作十分有用。我们先创建一个0-99的数列:
    L = list(range(100))
    print(L)
    #可以通过切片轻松取出某一段数列。比如前10个数:
    print(L[:10])
    
    #后十个数
    print(L[-10:])
    
    #前11-20个数
    print(L[10:20])
    
    #前10个数,每两个取一个:
    print(L[:10:2])
    
    #所有数,每五个取一个
    print(L[::5])
    
    #甚至什么都不写,只写[:]就可以原样复制一个list:
    print(L[:])
    
    print('---------------------')
    #tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
    t = (0, 1, 2, 3, 4, 5)[:3]
    print(t)
    #(0, 1, 2)
    
    #在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。
  • 相关阅读:
    POJ 2923 Relocation (状态压缩,01背包)
    HDU 2126 Buy the souvenirs (01背包,输出方案数)
    hdu 2639 Bone Collector II (01背包,求第k优解)
    UVA 562 Dividing coins (01背包)
    POJ 3437 Tree Grafting
    Light OJ 1095 Arrange the Numbers(容斥)
    BZOJ 1560 火星藏宝图(DP)
    POJ 3675 Telescope
    POJ 2986 A Triangle and a Circle
    BZOJ 1040 骑士
  • 原文地址:https://www.cnblogs.com/rain-1/p/5540759.html
Copyright © 2011-2022 走看看