Python中的循环语句

本文详细介绍了Python中的for循环、while循环、以及列表解析的用法,包括基础用法、结合enumerate、zip、itertools等高级功能,以及如何利用条件表达式和lambda函数进行数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中主要有三种循环语句:for循环,while循环,以及列表解析(list comprehension

一. for循环【for循环至少会执行一次】

1) 基础for循环:遍历序列或可迭代对象,对每个元素执行代码块。

for i in range(5):
    print(i)

2) 使用enumerate()函数:同时获取元素和其索引,在循环中同时使用元素和索引。

for i, value in enumerate(['a', 'b', 'c']):
    print(i, value)

3) 使用zip()函数:同时遍历多个可迭代对象,将多个可迭代对象的元素打包成一个个元组,然后依次处理这些元组。

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for i, (num, char) in enumerate(zip(list1, list2)):
    print(i, num, char)

4) 使用itertools模块:遍历复杂的数据结构,如字典、集合等。

import itertools
for key, group in itertools.groupby(['a', 'b', 'a', 'c', 'a', 'b']):
    print(key, list(group))

5) 使用生成器表达式:在循环中使用生成器表达式,可以减少内存占用。

squares = (x**2 for x in range(5))
for square in squares:
    print(square)

二. while循环【while循环可能一次也不执行】

1)基础while循环:只要条件满足,就重复执行代码块。

i = 0
while i < 5:
    print(i)
    i += 1

2)使用break和continue:在循环中可以使用break和continue语句来控制循环的流程。

i = 0
while True:
    print(i)
    i += 1
    if i >= 5:
        break

3)使用else子句:在循环结束后执行特定的代码块。

i = 0
while i < 5:
    print(i)
    i += 1
else:
    print('循环结束')

4)使用条件表达式:在循环中可以使用条件表达式来简化代码。

for i in range(5):
    if i % 2 == 0:
        print('偶数', i)
    else:
        print('奇数', i)

三. 列表解析:特殊的for循环写法

1) 基础列表解析循环:使用for循环和生成器表达式来创建一个列表。

squares = [x**2 for x in range(5)]
print(squares)

2) 使用条件表达式:在列表解析循环中使用条件表达式来过滤元素。

even_squares = [x**2 for x in range(5) if x % 2 == 0]
print(even_squares)

3) 使用lambda函数:在列表解析循环中使用lambda函数来对元素进行转换。

squares = [lambda x: x**2 for x in range(5)]
print([square(x) for square in squares for x in range(5)])

4) 使用enumerate()函数:在列表解析循环中使用enumerate()函数来同时获取元素和其索引。

squares = [(i, x**2) for i, x in enumerate(range(5))]
print(squares)

一日练,一日功,一日不练十日空

may the odds be ever in your favor ~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长孤秋落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值