gpt4 book ai didi

python - For 循环遍历单个列表中的多个变量

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:05 35 4
gpt4 key购买 nike

我正在尝试创建一个这样的循环

newList = [a + b for a,b in list[::2], list[1::2]]

意思是,从一个列表中取出两个连续的条目,对它们做一些处理并将其放入一个新列表中。

那将如何运作?

最佳答案

您想zip你的两个新创建的列表:

newList = [a + b for a,b in zip(list[::2], list[1::2])]

您还可以使用迭代器以更节省内存的方式执行此操作:

it = iter(list)
newList = [a + b for a, b in zip(it, it)]

或者使用 izip 甚至更高效*函数,它返回一个迭代器:

import itertools
it = iter(list)
newList = [a + b for a, b in itertools.izip(it, it)]

* 至少在 Python 2.x 下;在 Python 3 中,据我所知,zip 本身返回一个迭代器。

请注意您真的不应该调用变量list,因为这会破坏内置的list 构造函数。这可能会导致令人困惑的错误,通常被认为是错误的形式。

关于python - For 循环遍历单个列表中的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615898/

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