for循环中的Python列表初始化

Nei*_*l G 3 python list-comprehension list

如何在for循环中初始化列表:

for x, y in zip(list_x, list_y):
     x = f(x, y)
Run Code Online (Sandbox Code Playgroud)

不幸的是,即使我想要它,这个循环也不会改变list_x.

有没有办法在循环中引用list_x的元素?

我意识到我可以使用列表理解,但是当for循环非常复杂时,这很难理解.

编辑:我的for循环是20行.您通常会将20行放入单个列表理解中吗?

Sil*_*ost 8

为什么列表理解会变得复杂?

list_x[:] = [f(tup) for tup in zip(list_x, list_y)]
Run Code Online (Sandbox Code Playgroud)

您可以使用一组生成器表达式或将代码子集抽象为f函数,而不是使用20行for循环.

谈论无需查看代码即可完成的工作真的毫无意义.