- 循环技巧
- for循环完了之后,for和in之间的变量是保留的
- 普通循环
<pre>
color = {"red": 1, "green": 2, "blue": 3}
color
{'green': 2, 'blue': 3, 'red': 1}
for c in color:
... print(c, color[c])
...
green 2
blue 3
red 1
</pre>
- key,value循环
<pre>
for k,v in color.items():
... print(k, v)
...
green 2
blue 3
red 1
</pre>
- 索引式循环
<pre>
color_list = ["red", "green", "blue"]
color_list
['red', 'green', 'blue']普通循环
for c in color_list:
... print(c)
...
red
green
blue索引循环方式1
for c in range(len(color_list)):
... print(c, color_list[c])
...
0 red
1 green
2 blue索引循环方式2,通过enumerate函数
for i,v in enumerate(color_list):
... print(i, v)
...
0 red
1 green
2 blue
</pre>
- 比较控制
- in和not in将判断一个值是否存在于一个序列中
- 比较操作可以传递,例如
a < b == c
审核是否 a 小于 b 并且 b 等于 c。 - 比较操作可以通过逻辑操作符 and 和 or 组合,比较的结果可以用 not 来取反义。这些操作符的优先级又低于比较操作符,在它们之中,not 具有最高的优先级, or 优先级最低
所以:A and not B or C
==(A and (notB)) or C
- 短路操作符
- 语法:表达式 操作符 表达式2
- 注释:系统将从左到右解读,一旦结果可以确定就停止
- and ,例如
1 and 2
,左右两边都为True则返回右边的表达式结果,其中一个为False,则返回该表达式结果 - or ,例如
input("Please:") or "default"
,左右两边表达式只要其中一个为True,则返回该表达式结果
- 比较序列
- 列对象可以与相同类型的其它对象比较。比较操作按 字典序 进行:首先比较前两个元素,如果不同,就决定了比较的结果;如果相同,就比较后两个元素,依此类推,直到所有序列都完成比较。
<pre>
- 列对象可以与相同类型的其它对象比较。比较操作按 字典序 进行:首先比较前两个元素,如果不同,就决定了比较的结果;如果相同,就比较后两个元素,依此类推,直到所有序列都完成比较。
(1, 2, 3) < (1, 2, 4)
True
[1, 2, 3] < [1, 2, 4]
True
[1, 2, 3, 4] < [1, 2, 4]
True
(1, 2) < (1, 2, -1)
True
(1, 2, 3) == (1.0, 2.0, 3.0)
</pre>
* 如果一个序列是另一个序列的初始子序列,较短的一个序列就小于另一个
<pre>
"abc" < "c"
True
</pre>