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

liftword4个月前 (02-20)技术文章85

实习生用错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只能循环列表?关注我,下期更精彩哦!

相关文章

Python 循环详解教程 (Python Loop Tutorial)

在 Python 中,循环结构帮助我们自动重复执行代码(automatically execute the code repetitively),大大提高了编程效率!本教程将通过详细示例(Throug...

非常详细的基础讲解:Python for循环及基础用法(较长建议收藏)

今天为大家带来的内容是:非常详细的基础讲解:Python for循环及基础用法(较长建议收藏)文章内容主要为大家介绍python for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐...

全网最详尽的Python遍历的高级用法,程序员必收藏!

1.内置函数的高阶用法。numbers = [1, 2, 3, 4]squared = list(map(lambda x: x**2, numbers)) # [1, 4, 9, 16]```- *...

玩转Python—循环语句使用教程_python循环语句怎么用

课程继续,今天,小编给大家介绍Python中的循环语句:for循环的使用方法1. for循环语句的语法如下:for 变量 in 可迭代对象: 语句块语法说明:#变量 :变量在后面的可迭代对象里...

如何让编程语言 Python 自己重复运行进程?

有些时候,我们需要进行一些事件的重复,但正如常识一样,重复的过程是枯燥的,无聊的。现实世界中的事物有自己具象的颜色,形状,不过一旦重复这些事物,一样不可避免的会感到无聊。现实世界尚且如此,编程语言中重...