• python学习(3)


    Python学习(3)
    切片(Slice):根据索引范围取出字符串里面的内容,比如: l=range(100)   l[:8] [0, 1, 2, 3, 4, 5, 6, 7] 
                  l[:10:2]  [0, 2, 4, 6, 8]
        list、tuple、set 、字符串都可以做切片操作
    迭代(iteration):Python的迭代器比较强悍,用for...in...迭代只要是可迭代对象都是可以的list、tuple、dict、set、字符串也可以。例如:
        >>> d = {'a': 1, 'b': 2, 'c': 3}
        >>> for key in d:
        ...     print key
        ...
        a
        c
        b
    列表生成式:实际上是Python里面非常强大的创建List的方法,比如你想创建一个List是由1~10的平方组成的,你可以这样写:
       >>> l=[]
       >>> for n in range(1,10):
       ...     l.append(n*n)
       ...
       >>> l
       [1, 4, 9, 16, 25, 36, 49, 64, 81]
       当然Python又提供了一种新的列表生成:[x*x for x in range(1,11)] 就可以了,非常简洁,但是效果一样。
       下面是大写转小写方法:
       l=['Hello','World','Apple',9]
       i=0
       for n in l:
        if isinstance(n,str):
         l[i]=n.lower()
        i=i+1
       print l
    生成器(generator):为了节省内存,list里面的元素不必都存,根据一种算法在循环过程推算出后面的元素:实际上只要把列表生成器[]改成()就可以了,例如:
         >>> g=(x*x for x in range(10))
         >>> g.next()
         0
         generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。
         而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。例如:
         >>> def odd():
         ...     print 'step 1'
         ...     yield 1
         ...     print 'step 2'
         ...     yield 3
         ...     print 'step 3'
         ...     yield 5
         ...
         >>> o = odd()
         >>> o.next()   #调用时先打印‘step 1’,然后遇到yield然后返回一个1
         step 1
         1
         >>> o.next()  #调用时从上次返回的yield的下一句执行。
         step 2
         3
         >>> o.next() 
         step 3
         5
         >>> o.next()  #抛出StopIteration错误
         Traceback (most recent call last):
           File "<stdin>", line 1, in <module>
         StopIteration

  • 相关阅读:
    一些我遇到前端方面的问题和解决方法
    Effective Objective-C 2.0学习记录(二)
    Effective Objective-C 2.0学习(一)
    加快Xcode运行速度
    JPA CriteriaBuilder的简单使用
    日志切分
    iOS并发,串行,异步,同步
    服务重启脚本
    简述http/https加密和认证方式
    nohup的使用
  • 原文地址:https://www.cnblogs.com/lout/p/3832286.html
Copyright © 2020-2023  润新知