gpt4 book ai didi

具有更直观上限的 Python for 循环?

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:34 24 4
gpt4 key购买 nike

有时候,记住默认情况下排除 for 循环的上限让我有点困惑。有什么办法让它具有包容性吗?

最佳答案

十分之九,如果您正在编写一个 Python for 循环来迭代一系列数字,然后使用这些数字索引到列表或其他容器中,那么您就是这样做的错误的。换句话说,而不是这样做:

for i in range(len(container)):
print container[i]

你应该这样做:

for item in container:
print item

但是等等!你反对。如果因为要以某种方式修改项目而需要索引怎么办?执行此操作的 Pythonic 方法是使用 enumerate() 内置函数。

for i, item in enumerate(container):
print item
container[i] += 1

如果你不介意复制你的列表,那么列表理解通常是最好的选择:

container = [item + 1 for item in container]

或者如果您需要就地修改列表,试试这个,它结合了切片赋值(替换现有列表)和生成器表达式(延迟修改项目):

 container[:] = (item + 1 for item in container)

关于具有更直观上限的 Python for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10884253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com