当前位置: 首页 > 教程 > Python >

Python for循环

精华
小牛编辑
205浏览
2023-03-14
Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 循环的语法格式如下:

for 迭代变量 in 字符串|列表|元组|字典|集合:
    代码块

格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块又称为 循环体

for 循环语句的执行流程如图 1 所示。

for 循环语句的执行流程图
图 1 for 循环语句的执行流程图

下面的程序演示了 for 循环的具体用法:
add = "https://www.xnip.cn/python/"
#for循环,遍历 add 字符串
for ch in add:
    print(ch,end="")
运行结果为:

https://www.xnip.cn/python/

可以看到,使用 for 循环遍历  add 字符串的过程中,迭代变量 ch 会先后被赋值为 add 字符串中的每个字符,并代入循环体中使用。只不过例子中的循环体比较简单,只有一行输出语句。

Python for循环的具体应用

for 循环进行数值循环

在使用 for 循环时,最基本的应用就是进行数值循环。比如说,想要实现从 1 到 100 的累加,可以执行如下代码:
print("计算 1+2+...+100 的结果为:")
#保存累加结果的变量
result = 0
#逐个获取从 1 到 100 这些值,并做累加操作
for i in range(101):
    result += i
print(result)
运行结果为:

计算 1+2+...+100 的结果为:
5050

上面代码中,使用了 range() 函数,此函数是 Python 内置函数,用于生成一系列连续整数,多用于 for 循环中。

有关 range() 函数的具体用法,可阅读《Python range()》一节,值得一提的是,Python 2.x 中除提供 range() 函数外,还提供了一个 xrange() 函数,它可以解决 range() 函数不经意间耗掉所有可用内存的问题。但在 Python 3.x 中,已经将 xrange() 更名为 range() 函数,并删除了老的 xrange() 函数。

for循环遍历列表和元组

当用 for 循环遍历 list 列表或者 tuple 元组时,其迭代变量会先后被赋值为列表或元组中的每个元素并执行一次循环体。

下面程序使用 for 循环对列表进行了遍历:
my_list = [1,2,3,4,5]
for ele in my_list:
    print('ele =', ele)
程序执行结果为:

ele = 1
ele = 2
ele = 3
ele = 4
ele = 5

感兴趣的读者,可自行尝试用 for 循环遍历 tuple 元组,这里不再给出具体实例。

for 循环遍历字典

在使用 for 循环遍历字典时,经常会用到和字典相关的 3 个方法,即 items()、keys() 以及 values(),它们各自的用法已经在前面章节中讲过,这里不再赘述。当然,如果使用 for 循环直接遍历字典,则迭代变量会被先后赋值为每个键值对中的键。

例如:
my_dic = {'python教程':"https://www.xnip.cn/python/",\
          'shell教程':"https://www.xnip.cn/",\
          'java教程':"https://www.xnip.cn/java/"}
for ele in my_dic:
    print('ele =', ele)
程序执行结果为:

ele = python教程
ele = shell教程
ele = java教程

因此,直接遍历字典,和遍历字典 keys() 方法的返回值是相同的。

除此之外,我们还可以遍历字典 values()、items() 方法的返回值。例如:
my_dic = {'python教程':"https://www.xnip.cn/python/",\
          'shell教程':"https://www.xnip.cn/",\
          'java教程':"https://www.xnip.cn/java/"}
for ele in my_dic.items():
    print('ele =', ele)
程序执行结果为:

ele = ('python教程', 'https://www.xnip.cn/python/')
ele = ('shell教程', 'https://www.xnip.cn/')
ele = ('java教程', 'https://www.xnip.cn/java/')

最后更新:

类似资料

  • 您好,我对jquery没有什么问题。首先,我有: 大众BORA 1.9TDI 1990 1995 奥迪A3 2.0TFSI 2006 2008 但我想实现: VW BORA 1.9TDI 1990 VW BORA 1.9TDI 1991 VW BORA 1.9TDI 1992 VW BORA 1.9TDI 1993 VW BORA 1.9TDI 1994 VW BORA 1.9TDI 1995 A

  • 问题内容: 我第一次不了解PHP。我一直在脚本中使用for循环,while循环,foreach循环。我想知道 哪一个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要使用哪个循环的代码。 很明显,我可以使用while编写上面的代码。希望有人能帮助我找出哪个循环更适合使用。 问题答案: 哪一个性能更好? 没关系 选择循环的标准是什么? 如果只需要遍历对象或数

  • 通常你想在一个任务中干很多事,比如创建一群用户,安装很多包,或者重复一个轮询步骤直到收到某个特定结果. 本章将对在playbook中如何使用循环做全面的介绍. Topics 循环 为了保持简洁,重复的任务可以用以下简写的方式: - name: add several users user: name={{ item }} state=present groups=wheel with_it

  • 循环其实不足为奇。跟其它程序设计语言一样,bash中的循环也是只要控制条件为真就一直迭代执行的代码块。 Bash中有四种循环:for,while,until和select。 for循环 for与它在C语言中的姊妹非常像。看起来是这样: for arg in elem1 elem2 ... elemN do # 语句 done 在每次循环的过程中,arg依次被赋值为从elem1到elemN。这些

  • 尽管已经支持JavaScript原生代码,Jade还是支持了一些特殊的标签,它们可以让模板更加易于理解,其中之一就是each, 这种形式: each VAL[, KEY] in OBJ 一个遍历数组的例子 : - var items = ["one", "two", "three"] each item in items li= item 渲染为: <li>one</li> <li>two</

  • 可能存在需要多次执行代码块的情况。 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推。 编程语言提供各种控制结构,允许更复杂的执行路径。 循环语句允许我们多次执行语句或语句组,以下是大多数编程语言中循环语句的一般形式 - Perl编程语言提供以下类型的循环来处理循环要求。 Sr.No. 循环类型和描述 1 while 循环 在给定条件为真时重复语句或语句组。 它在执行