python - 具有多个变量的列表理解

标签 python

有什么方法可以使列表理解中的两个或多个项目出队。

即我想做这样的事情:

>>> 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/

相关文章:

python - 在进程之间共享字典

python - 无法使用 Python 在 PostgreSQL 中获取最后插入的 ID

python - 余弦相似度的简单实现有什么问题?

python - 如何从 .yaml 文件访问变量到机器人框架脚本?

python - 为什么网络学习效果不高(Tensorflow - 用于文本生成的 LSTM)?

python - 如何获取没有目录名的文件名

python - 在 powershell、python 或其他运行 windows 的脚本语言中通过首字母移动文件

python - 使 Python 类在创建新属性时抛出错误

python - 三次样条 Python 代码生成线性样条

python - 使用自定义 django 模型后无法登录