遍历范围

在 Java 语言中,遍历 0 - 10,语法规则如下:

  1. for ( int i = 0; i < 10; i++ ) {
  2. }

在 python 中,没有这种语法,与之对应的语法是这样的:

  1. for x in range(0, 10):
  2. print(x)

range 函数第一个参数是起点,第二个参数是结束点,但是它遵循左闭右开的原则,实际的结束点是第二个参数 - 1。
range 函数也可以接受第三个参数,表示步长的概念。
如果步长为 2,每隔两个元素遍历其中一个元素。

  1. for x in range(0, 10, 2):
  2. print('步长元素:{}'.format(x))

结果:

  1. 步长元素:0
  2. 步长元素:2
  3. 步长元素:4
  4. 步长元素:6
  5. 步长元素:8

遍历列表

Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。

普通方式

for 循环的一般格式如下:

  1. for <variable> in <sequence>:
  2. <statements>
  3. else:
  4. <statements>

示例代码:

  1. if __name__ == '__main__':
  2. fruits = ['榴莲', '苹果', '橘子']
  3. for x in fruits:
  4. print(x)

结果:

  1. 榴莲
  2. 苹果
  3. 橘子

range方式

  1. list = ['html', 'js', 'css', 'python']
  2. for i in range(len(list)):
  3. print(i, end=" ")

enumerate

  1. list = ['html', 'js', 'css', 'python']
  2. for i, _ in enumerate(list):
  3. print(i, end=" ")

_ 代表列表元素的值,i 代表下标。
输出:

  1. html js css python

同时遍历多个序列

同时遍历两个或更多的序列,可以使用 zip() 组合:

  1. questions = ['name', 'quest', 'favorite color']
  2. answers = ['lancelot', 'the holy grail', 'blue']
  3. for x, y in zip(questions, answers):
  4. print(f'question:{x},answer:{y}')

结果:

  1. question:name,answer:lancelot
  2. question:quest,answer:the holy grail
  3. question:favorite color,answer:blue