分享

掌握Python循环控制的艺术:12个进阶示例

 只怕想不到 2024-06-20 发布于湖北

今天,我们要一起探索Python中循环控制的那些不为人知的小秘密,让你的代码不仅高效,还能秀出你的编程艺术。让我们通过12个趣味盎然的示例,一步步成为循环大师吧!

1. 基础篇:Hello, World! 的循环变奏曲

for i in range(5):
    print('Hello, World!')

简单吧?range(5)生成从0到4的序列,循环五次打印“Hello, World!”。就像是在对世界连说五次你好,每次都是新开始!

2. 列表遍历:水果篮子

fruits = ['apple''banana''cherry']
for fruit in fruits:
    print(fruit)

这里,我们用for循环遍历列表,就像在水果店挑选每一个水果,展示它们的名字。

3. 索引与值的双重奏

for i, fruit in enumerate(fruits):
    print(f'Index: {i}, Fruit: {fruit}')

enumerate()让我们同时知道水果的索引和名字,像给每个水果贴上编号,顺序不乱。

4. 跳出循环的秘诀:早退的循环

for i in range(10):
    if i == 5:
        break
    print(i)

i到5时,break命令让循环提前结束,就像是遇到特殊情况直接下班。

5. 跳过继续:避开不喜欢的数字

for i in range(10):
    if i % 2 == 0:  # 如果是偶数
        continue
    print(i)

continue碰到偶数就跳过,只打印奇数,仿佛是在说:“偶数,不是我的菜,下一个!”

6. 双重循环:九九乘法表 tabelultiplication ×9×9

for i in range(110):
    for j in range(1, i+1):
        print(f'{j}x{i}={i*j}', end='\t')
    print()  # 换行

两层循环相遇,产生乘法表,像是一层层编织的数学网,整齐又规律。

7. 遍历字典:揭秘键值对

my_dict = {'name''Alice''age'30}
for key, value in my_dict.items():
    print(f'{key}{value}')

用循环来揭开字典的神秘面纱,键值对一对对地展现,清晰明了。

8. while循环:直到天亮直到海枯石烂直到...直至条件不成立

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

只要条件满足(这里是count<5),就一直循环,就像等待日出的耐心。

9. 无限循环:陷入循环的兔子洞rabbit hole利用您的智慧逃离

# 注意:实际编程中要谨慎使用
while True:
    print('Help! I'm stuck in a loop!')
    # 使用break跳出循环

小心,这是个无底洞!除非手动break,否则你会一直听到求救声。

10. 列表生成式:简洁之美

squares = [i**2 for i in range(16)]
print(squares)

一行代码生成1到5的平方数列表,简洁高效,如同魔法般。

11. 生成器表达式:内存友好型选手

squares_gen = (i**2 for i in range(16))
for square in squares_gen:
    print(square)

与列表生成式类似,但它是惰性的,节省内存,像是一位轻盈的跑者。

12. zip函数:多列表的浪漫舞蹈

names = ['Alice''Bob''Charlie']
ages = [302535]
for name, age in zip(names, ages):
    print(f'{name} is {age} years old.')

zip函数将两个列表配对,就像是一场完美的舞会,每对舞伴都和谐共舞。


到这里,我们的循环控制之旅告一段落,但你的Python学习之路才刚刚开始。记住,每个循环背后都有其独特的逻辑和应用场景,多实践,多思考,你就能在编程的世界里翩翩起舞。现在,是时候去创造你自己的循环故事了!

希望这些示例不仅能帮助你掌握Python的循环控制技巧,还能激发你对编程的无限热爱和创造力!


这就是我们的小课堂,希望你享受这段旅程,下次见!当然,既然你对深入学习Python的循环控制充满热情,那我们不妨再深入一些,探讨几个更高级和实用的技巧,让你的编程技能更上一层楼。

13. 使用itertools模块:循环的高级玩法

Python的itertools模块提供了许多强大的迭代工具,让我们来看看其中的cyclechain函数。

循环播放:itertools.cycle

import itertools

colors = ['red''green''blue']
for color in itertools.cycle(colors):
    if color == 'blue':
        print('Stopping at blue.')
        break
    print(color)

itertools.cycle可以让一个序列无限循环,直到遇到break。就像一个永不疲倦的播音员,直到指令为止。

连接多个序列:itertools.chain

list1 = [123]
list2 = ['a''b''c']
for item in itertools.chain(list1, list2):
    print(item)

itertools.chain能无缝连接多个序列,就像把两串珠子连成一串,简单而有效。

14. 列表推导式进阶:条件筛选和嵌套

numbers = [12345]
squares_of_even = [n**2 for n in numbers if n % 2 == 0]
print(squares_of_even)

# 嵌套列表推导式
matrix = [[123], [456], [789]]
flattened = [item for sublist in matrix for item in sublist]
print(flattened)

列表推导式不仅可以简洁地生成列表,还能结合条件判断和处理复杂结构,如上述的筛选偶数平方和扁平化矩阵。

15. 高级循环控制:enumerate, zip, 和列表推导式的结合

students = ['Alice''Bob''Charlie']
grades = [889275]

# 结合enumerate和zip
for idx, (student, grade) in enumerate(zip(students, grades), start=1):
    print(f'Student #{idx}{student} - Grade: {grade}')

# 或者用列表推导式创建字典
grades_dict = {student: grade for student, grade in zip(students, grades)}
print(grades_dict)

这种结合使用可以高效地处理数据,将两个列表对应项配对,甚至直接生成字典,体现了Python的灵活性和强大。


通过这些高级技巧的学习,你的Python循环控制技能无疑又精进了许多。你还有哪些python循环控制技巧,请在留言区参与讨论吧~~~

好了,今天的分享就到这里了,我们下期见。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多