五.条件循环和其他语句

Posted i201102053

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五.条件循环和其他语句相关的知识,希望对你有一定的参考价值。

  • 并行赋值时,*可收集多余部分:
    • x,*y,z=[1,2,3,4,5,6,7],这样无需确保值和变量的个数相同
  •  x=y=somefunction()  这个与 x=somefunction(); y=somefunction() 是不等价的。
  • Python中的缩进有意义。
  • Python的真假判定中:False,None,0,"",(),[],{} 都视为假
  • 三目运算符:A=B if condition else C  (condition==True时,选B;condition==False时,选C)
  • x is y 是判断x和y是用一个对象,x和y是否指向同一内存。这与x==y不同,后者是值得判定。
  • 布尔符短路逻辑:
    • A and B,若A为False,不执行B。
    • A or B,若A为True,不执行B。
  • 断言:
    • 自定义崩溃,立刻崩溃
    • assert (condition),“out” ---> condition为False,立刻崩溃,“out”为崩溃说明

 

  • 迭代工具:
    • 序列、可迭代对象都可以进行迭代
    • 并行迭代:zip()可以迭代两个序列,返回元组组成的迭代对象,可用list()函数查看:
      list1=[1,2,3,4,5]
      list2=["a","b","c","d","e"]
      print(list(zip(list1,list2)))  # [(1, ‘a‘), (2, ‘b‘), (3, ‘c‘), (4, ‘d‘), (5, ‘e‘)]
    • 迭代时获取索引,内置函数enumerate进行枚举化:

      for index,string in enumerate(stirngs):
      #index返回索引,string返回内容

       

 

 

  • 简单推导:
    • 列表推导生成:[var for ... in ... for ... in ... if ...]
      a=[x for x in range(10)]
      print(a) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      b=[x*x for x in range(10)]
      print(b) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
      c=[(x,y) for x in range(3) for y in range(4) if x<y]
      print(c) #[(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)]
    • 字典推导生成:{key:value for ... in ... if...}
      s={i:"{} squared is {}".format(i,i**2) for i in range(4)}
      print(s) #{0: ‘0 squared is 0‘, 1: ‘1 squared is 1‘, 2: ‘2 squared is 4‘, 3: ‘3 squared is 9‘}

 

以上是关于五.条件循环和其他语句的主要内容,如果未能解决你的问题,请参考以下文章

我的java学习之路五:java的循环和条件语句

实验五——循环结构学习总结

实验五——循环结构学习总结

实验五——循环结构学习总结

实验五——循环结构学习总结

实验五——循环结构学习总结