Python中的循环语句

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 ~

你可能感兴趣的:(Python,python,开发语言)