当前位置: 首页 > article >正文

Python for 循环

Python 中的 for 循环

Python 中的 for 循环是一个迭代函数。如果你有一个类似列表的序列对象,你可以使用 for 循环来迭代列表中包含的项目。

for 循环的功能与其他多个编程语言中看到的功能并没有太大的不同。

在本文中,我们将详细探讨 Python 中的 for 循环,并学习如何迭代不同的序列,包括列表、元组等。此外,我们还将学习如何使用 break 和 continue 语句来控制循环的流程。

Python for 循环的基本语法

Python 中 for 循环的基本语法如下所示。

for iterator_variable in sequence_name:
	Statements
	. . .
	Statements

让我更好地解释一下 Python for 循环的语法。

  • 语句的第一个单词以 关键字 “for” 开头,表示 for 循环的开始。
  • 然后是 迭代变量,它在序列上进行迭代,并可以在循环内部用于执行各种功能。
  • 接下来是 Python 中的 “in” 关键字,告诉迭代变量在序列中循环。
  • 最后,我们有 序列变量,可以是列表、元组或任何其他类型的迭代器。
  • 循环的语句部分是你可以使用迭代变量进行各种操作的地方。

1. 使用 for 循环打印字符串的各个字母

Python 字符串是一系列字符。如果在你的任何编程应用程序中,你需要逐个遍历字符串的字符,你可以在这里使用 for 循环。

下面是如何实现的。

word="anaconda"
for letter in word:
	print (letter)

输出:

a
n
a
c
o
n
d
a

这个循环之所以有效,是因为 Python 将 “字符串” 视为一系列字符,而不是将字符串作为一个整体来看待。

2. 使用 for 循环遍历 Python 列表或元组

列表和元组是可迭代对象。让我们看看如何循环遍历这些对象中的元素。

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

输出:

Apple
Banana
Car
Dolphin

现在,让我们继续并学习如何循环遍历元组的元素。

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')

# 输出
# Sum of numbers is 10

3. 嵌套 Python for 循环

当一个 for 循环位于另一个 for 循环内部时,它被称为嵌套 for 循环。嵌套 for 循环有多种应用。

考虑上面的列表示例。for 循环从列表中逐个打印单词。但是,如果我们想要逐个打印列表中每个单词的各个字符呢?

这就是嵌套 for 循环更好地发挥作用的地方。第一个循环(父循环)将逐个单词进行循环。第二个循环(子循环)将循环遍历每个单词的字符。

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        # 这个循环从列表中获取单词
        print ("以下行将打印 "+word+" 的每个字母")
        for letter in word:
                # 这个循环从单词中获取字母
                print (letter)
        print("") # 这个打印用于打印一个空行

输出

!python 嵌套 for 循环示例

4. 使用 range() 函数的 Python for 循环

Python 的 range() 是内置函数之一。当你想让 for 循环运行特定次数,或者需要指定要打印的对象范围时,range 函数非常有效。考虑以下示例,我想打印数字 1、2 和 3。

for x in range(3):
    print("Printing:", x)
	
# 输出

# Printing: 0
# Printing: 1
# Printing: 2

range 函数除了起始和结束之外,还接受另一个参数。这就是 步长参数。它告诉 range 函数在每次计数之间要跳过多少个数字。

在下面的示例中,我使用数字 3 作为步长,你可以看到输出的数字是前一个数字 + 3。

for n in range(1, 10, 3):
    print("Printing with step:", n)

5. 使用 for 循环的 break 语句

break 语句用于提前退出 for 循环。当满足特定条件时,它用于中断 for 循环。

假设我们有一个数字列表,我们想要检查一个数字是否存在。我们可以遍历数字列表,如果找到数字,就跳出循环,因为我们不需要继续遍历剩余的元素。

在这种情况下,我们将使用 Python 的 if else 条件与我们的 for 循环。

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# 输出
# List contains 2: True

6. 使用 for 循环的 continue 语句

我们可以在 for 循环中使用 continue 语句来跳过特定条件下的 for 循环体执行。

假设我们有一个数字列表,我们想要打印正数的总和。我们可以使用 continue 语句来跳过负数的 for 循环。

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. 带有 else 块的 Python for 循环

我们可以在 Python for 循环中使用 else 块。只有当 for 循环没有被 break 语句终止时,else 块才会被执行。

假设我们有一个函数,如果所有数字都是偶数,则打印数字的总和。

我们可以使用 break 语句来终止 for 循环,如果存在奇数。我们可以在 else 部分打印总和,这样只有在 for 循环正常执行时才会打印。

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# 这将打印总和
print_sum_even_nums([2, 4, 6, 8])

# 由于序列中存在奇数,这不会打印总和
print_sum_even_nums([2, 4, 5, 8])

# 输出

# For loop executed normally
# Sum of numbers 20

结论

Python 中的 for 循环与其他编程语言非常相似。我们可以使用 break 和 continue 语句来改变执行流程。然而,在 Python 中,我们还可以在 for 循环中使用可选的 else 块。


http://www.kler.cn/a/234660.html

相关文章:

  • 前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案
  • 鸿蒙之路的坑
  • 机器学习之KNN算法预测数据和数据可视化
  • oscp学习之路,Kioptix Level2靶场通关教程
  • 云途领航:现代应用架构助力企业转型新篇
  • MySQL变量
  • 常见性能优化策略
  • CVE-2012-2311 漏洞复现
  • 计算机网络(第六版)复习提纲29
  • spring boot 通过 application 切换cache使用的服务
  • React18原理: 再聊Fiber架构下的时间分片
  • 前端JavaScript篇之ajax、axios、fetch的区别
  • 【LeetCode每日一题】二维前缀和基本概念与案例
  • 剪辑思维大学习(Day5) - 剪辑时如何找到合适的音乐?!
  • #Z2322. 买保险
  • 【自然语言处理-工具篇】spaCy<2>--模型的使用
  • 请解释Java中的代理模式,分别介绍静态代理和动态代理
  • WindowsLinuxmeterepreter渗透命令回顾
  • windows 下安装gin
  • PKI - 借助Nginx实现_客户端使用CA根证书签发客户端证书
  • django中实现适配器模式
  • python基于flask的网上订餐系统769b9-django+vue
  • SNMP(简单网络管理协议)介绍
  • 【每日一题】04最小路径和 (DP3)
  • 【C语言】(20)动态内存分配
  • HiveQL——不借助任何外表,产生连续数值