Python 循环

while 循环

while 循环主要用于重复的执行一段代码。

# 如果没有条件阻止,while会一直循环到程序崩溃
>>> while True:
>>>  ....
>>>  ...

# 增加条件阻止
>>> n = 1
>>> while n < 5: 
>>>  print(n)
>>>  n = n + 1 # 简写 n+=1
1
2
3
4

# continue
>>> n = 1
>>> while n < 5: 
>>>  n+=1
>>>  if n == 3:
>>>   continue # 跳过当前循环
>>>  print(n)
2
4
5

# break
>>> n = 1
>>> while n < 5: 
>>>  if n == 3:
>>>   break # 终止循环
>>> print(n)
>>> n+=1
1
2

continuebreak也适用下面的于for循环


for 循环

for 循环主要是对序列的遍历,在Python中,除了我们前面列举的一些序列字符串列表元组,还有一些奇特的序列,比如generator,关于生成器的内容请看函数篇

# 遍历序列
>>> for s in 'abc':
>>>  print(s)
'a'
'b'
'c'

>>> for n in [1,2,3]:
>>>  print(n)
1
2
3

# 字典并不是一个序列,所以在遍历字典之前,需要先进行转换 | 字典篇学到的方法:keys() values() items(),就派上用场了。
>>> for k in {1:'a', 2:'b'}.keys():
>>>  print(k)
1
2

>>> for v in {1:'a', 2:'b'}.values():
>>>  print(v)
'a'
'b'

>>> for i in {1:'a', 2:'b'}.items():
>>>  print(i)
(1,'a')
(2,'b')

# 嵌套循环
>>> for i in {1:'a', 2:'b'}.items():
>>>  for k in i:
>>>   print(k)
1
'a'
2
'b'

温馨提示:IndentationError: 报错,是代码没有 强制对齐


推导式

一种生成序列的语法糖

# range | 快速生成序列
>>> list(range(0,10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# for
l = []
for x in range(0,10):
 if x % 2 == 1: # 奇数
  l.append(x)
>>> l
[1,3,5,7,9] # 得到一个奇数列表

# 推导式
>>> l = [ x for x in range(0,10) if x % 2 == 1 ] # 表达例2. 一句话的事
>>> l
[1,3,5,7,9]

# 字典推导式公式
{ key_expression : value_expression for expression in iterable } 

# 集合推导式公式
{ expression for expression in iterable } 
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程