美文网首页
Python学习手册 循环和迭代器

Python学习手册 循环和迭代器

作者: 夹小欣 | 来源:发表于2017-11-07 19:58 被阅读19次

    大神看了我的代码说:我这是把python当C在用,忘记谭浩强教的东西再来学python。
    嗯,python的特性都不怎么知道,还在啃着当年C的老底。

    比如python的while和for循环都支持else,在循环中如果没有遇到break就会进入到else,否则跳过else

    while x:
        if x%2==1:
            print 'ddd'
            break
    else:
        print 'aaa'
    

    文件扫描更快的方式是不加载文件,文件自带内置的迭代器。

    for line in open('abc.txt'):
        print line.upper()
    
    #也可以
    a = list(open('d.txt'))
    

    并行迭代zip,zip可以用来创建字典

    l2=range(6,11)
    l1=range(5)
    zip(l1,l2)
    Out[15]: [(0, 6), (1, 7), (2, 8), (3, 9), (4, 10)]
    ---------
    for (x,y) in zip(l1,l2):
        print x,y,'=',x+y
    -------
    0 6 = 6
    1 7 = 8
    2 8 = 10
    3 9 = 12
    4 10 = 14
    

    列表解析式读文件

    #打开文件,并读取第一个字符为p的行
    #列表解析式比等效的展开for循环快,底层用的是C实现
    lines = [ line.rstrip() for line in open('abc.txt') if line[0] == 'p']
    #在leetcode的短代码中经常看到的表达
    #列表解析式完成了两个字符串的字母组合
    [x+y for x in 'abc' for y in '123']
    Out[17]: ['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'c1', 'c2', 'c3']
    

    相关文章

      网友评论

          本文标题:Python学习手册 循环和迭代器

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