python - 列表理解 : Returning two (or more) items for each item

标签 python list-comprehension

是否可以为列表推导中的每个项目返回 2 个(或更多)项目?

我想要什么(示例):

[f(x), g(x) for x in range(n)]

应该返回[f(0), g(0), f(1), g(1), ..., f(n-1), g(n-1)]

所以,用一些东西来替换这段代码:

result = list()
for x in range(n):
    result.add(f(x))
    result.add(g(x))

最佳答案

双重列表理解:

[f(x) for x in range(5) for f in (f1,f2)]

演示:

>>> f1 = lambda x: x
>>> f2 = lambda x: 10*x

>>> [f(x) for x in range(5) for f in (f1,f2)]
[0, 0, 1, 10, 2, 20, 3, 30, 4, 40]

关于python - 列表理解 : Returning two (or more) items for each item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11868964/

相关文章:

python - 禁用特定包的日志记录

python - 为什么 Python 中没有元组理解?

python - 使用 if 语句的嵌套列表理解

python - 如何消除数据中的急剧跳跃?

python - 如何在不使用模型的情况下将 Django 集成到现有数据库中

python - 用ListView替换object_list : AttributeError

python - 当标准输出没有输出时如何杀死 plink.exe?

python - 如何通过保留相同的原始顺序来替换基于元组列表的单词列表?

使用元组的 Python 列表理解过滤(包含整数作为字符串)

python - 列表理解未按预期评估