程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python循环秘技!90%新手不知道的7个for用法,第3个绝了!

hfteth 2025-07-17 18:41:45 技术文章 1 ℃

实习生用错for循环,1天删光数据库!这7个保命技巧,现在看还来得及!

一、新手必死的3个坑(血泪警告)

坑1:循环中修改列表

# 作死写法(删不干净)  
names = ["张三", "李四", "王五"]  
for name in names:  
    if "王" in name:  
        names.remove(name)  

# 保命方案  
for name in names.copy():  # 复制副本循环  
    if "王" in name:  
        names.remove(name)  

坑2:死循环炸弹

# 直接卡死!  
lst = [1]  
for i in lst:  
    lst.append(i)  # 列表无限增长  

坑3:索引越界惨案

# 报错IndexError!  
arr = [10, 20]  
for i in range(3):  
    print(arr[i])  

# 正确姿势  
for i in range(len(arr)):  # 用len动态控制  
    print(arr[i])  

二、内行人偷偷用的4个神操作

技巧1:用enumerate偷下标(告别i=0)

# 小白写法  
i = 0  
for item in list:  
    print(i, item)  
    i += 1  

# 大神写法  
for i, item in enumerate(list, start=1):  # start可自定义起始值  
    print(f"第{i}个元素:{item}")  

技巧2:zip一键并行循环

# 同时遍历多个列表  
names = ["张三", "李四"]  
ages = [25, 30]  
for name, age in zip(names, ages):  
    print(f"{name}今年{age}岁")  

技巧3:for-else黑加轮

# 循环完没break才触发else  
for num in [2,4,6]:  
    if num % 2 != 0:  
        break  
else:  
    print("全是偶数!")  # 会执行  

三、面试必考的2道送命题

题目1:下面代码输出啥?

for i in range(5):  
    pass  
print(i)  # 输出4!循环变量会泄露  

题目2:如何倒序遍历列表?

# 错误答案  
for i in range(len(lst)-1, -1, -1):  

# 碾压级答案  
for item in reversed(lst):  

你以为for只能循环列表?关注我,下期更精彩哦!

Tags:

最近发表
标签列表