gpt4 book ai didi

python - 从 For 循环内部编辑列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:06 24 4
gpt4 key购买 nike

假设我有一个列表 mylist,我将其定义为 [1, 2, 3, 4, 5]。有没有一种简单的方法可以在 for 循环中将列表中的每个元素加倍?

我知道你可以这样做:

for i in range(len(mylist)):
mylist[i] *= 2

我也知道你可以做一个列表理解:

mylist = [2*i for i in range(1, 6)

但是有没有办法做到这一点呢?

for num in mylist:
#code goes here

我试过做类似的事情:

for num in mylist:
num *= 2

但是 num 是一个局部变量,所以这不会修改 mylist,只是 num。有谁知道这样做的好方法吗?

最佳答案

执行此操作的通常方法是使用列表理解,直接遍历列表项,而不是通过索引间接地进行迭代。

mylist = [1, 2, 3, 4, 5]
mylist = [2 * num for num in mylist]
print(mylist)

输出

[2, 4, 6, 8, 10]

用新的列表对象替换 mylist。这通常没问题,但有时您想要修改现有对象,例如,当其他对象引用了 mylist 时。您可以通过切片分配来做到这一点。

mylist[:] = [2 * num for num in mylist]

关于python - 从 For 循环内部编辑列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46863682/

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