五.条件循环和其他语句
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‘}
- 列表推导生成:[var for ... in ... for ... in ... if ...]
以上是关于五.条件循环和其他语句的主要内容,如果未能解决你的问题,请参考以下文章