zoukankan      html  css  js  c++  java
  • python小记(2)

    三元操作,是条件语句中比较简练的一种赋值方式,它的模样是这样的:

    >>> name = "qiwsir" if "laoqi" else "github"
    

    先思考一个问题,if "laoqi",这里似乎没有条件表达式,Python怎么判断?

    的确没有条件表达式,事实上,它就等同于if bool("laoqi")

    >>> name
    'qiwsir'
    >>> name = 'qiwsir' if "" else "python"
    

    而这里的if ""就相当于if bool("")(注意写法上,两个引号之间没有空格)。还要多说一句,这里列举的方式,纯粹是为了理解三元操作符,不具有实战价值。

    >>> name
    'python'
    >>> name = "qiwsir" if "github" else ""
    >>> name
    'qiwsir'
    

    总结一下:A = Y if X else Z

    什么意思,结合前面的例子,可以看出:

    • 如果X为真,那么就执行A=Y
    • 如果X为假,就执行A=Z

    如此例

    >>> x = 2
    >>> y = 8
    >>> a = "python" if x > y else "qiwsir"
    >>> a
    'qiwsir'
    >>> b = "python" if x < y else "qiwsir"
    >>> b
    'python'
    

    if所引起的条件语句使用非常普遍,当然也比较简单。

     

    for 循环

    >>> help(zip)
    Help on class zip in module builtins:
    
    class zip(object)
     |  zip(iter1 [,iter2 [...]]) --> zip object
     |  
     |  Return a zip object whose .__next__() method returns a tuple where
     |  the i-th element comes from the i-th iterable argument.  The .__next__()
     |  method continues until the shortest iterable in the argument sequence
     |  is exhausted and then it raises StopIteration.
    >>> a ='qiwsir'
    >>> c = [1, 2, 3]
    >>> zip(c)        #这是Python 2的结果,如果是Python 3,请仿照前面的方式显示查看
    [(1,), (2,), (3,)]
    >>> zip(a)
    [('q',), ('i',), ('w',), ('s',), ('i',), ('r',)]
    

     

    >>> dict(zip(myinfor.values(), myinfor.keys()))
    {'python': 'lang', 'qiwsir.github.io': 'site', 'qiwsir': 'name'}


    enumerate

    enumerate()也是内建函数。

    >>> for (i, day) in enumerate(week):
    ...     print day+' is '+str(i)        #Python 3: print(day+' is '+str(i))
    ... 
    monday is 0
    sunday is 1
    friday is 2


    >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    >>> list(enumerate(seasons))
    [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    
    >>> list(enumerate(seasons, start=1))
    [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
    

    对于这样一个列表:

    >>> mylist = ["qiwsir",703,"python"]
    >>> enumerate(mylist)
    <enumerate object at 0xb74a63c4>    
    >>> list(enumerate(mylist))
    [(0, 'qiwsir'), (1, 703), (2, 'python')]



    列表解析

    先看下面的例子,这个例子是想得到1到9的每个整数的平方,并且将结果放在列表中,打印出来。

    >>> power2 = []
    >>> for i in range(1, 10):
    ...     power2.append(i*i)
    ... 
    >>> power2
    [1, 4, 9, 16, 25, 36, 49, 64, 81]
    

    Python有一个非常强大的功能,就是列表解析,它这样使用:

    >>> squares = [x**2 for x in range(1, 10)]
    >>> squares
    [1, 4, 9, 16, 25, 36, 49, 64, 81]


    break和continue

    break,在上面的例子中已经出现了,其含义就是要在这个地方中断循环,跳出循环体。

     

    while...else

    while...else有点类似if ... else,只需要一个例子就可以理解。 当然,一遇到else了,就意味着已经不在while循环内了。

    for...else

    除了有while...else外,还可以有for...else。这个循环也通常用在当跳出循环之后要做的事情。

     
  • 相关阅读:
    matlab 动态绘图保持figure不变
    ucos-ii在ti dsp 28377芯片上的运行过程和移植过程
    关于ucos_ii 就绪表的理解
    dsp 28377在线升级 实例总结
    关于DSP的boot mode / boot loader /上电顺序 /在线升级等问题的总结
    开源看板wekan docker 源码构建
    开源看板 wekan windows 环境下 离线部署
    公司内网两台电脑无法ping通的问题
    excle 根据单位、岗位、成绩 等排名
    python爬虫学习:从数据库读取目标爬虫站点及爬虫规则,批量爬取目标站点指定数据(scrapy框架)
  • 原文地址:https://www.cnblogs.com/liqiantu/p/5784768.html
Copyright © 2011-2022 走看看