有什么方法可以使列表理解中的两个或多个项目出队。
即我想做这样的事情:
>>> q = [1, 2, 3, 4]
>>> r = [x+y for x, y in q]
** This does not work though :( **
预期:
>>> r
[3, 7]
最佳答案
您可以使用石斑鱼 recipe来自 itertools文档:
>>> from itertools import izip_longest
>>> [x + y for x, y in grouper(2,q)]
[3, 7]
食谱的源代码是这样的:
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
关于python - 具有多个变量的列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10446458/