我是 python 的新手,我一直在学习列表理解以及 python 列表和字典。
所以,我想做这样的事情:
[my_functiona(x) for x in a]
..完全没问题。
但是,现在我想执行以下操作:
[my_functiona(x) for x in a] && [my_functionb(x) for x in a]
..有没有办法组合或链接这样的列表理解? - 第二个函数使用第一个列表的结果。简而言之,我想依次应用 my_functiona
和 my_functionb
来列出 a
我确实尝试用谷歌搜索这个 - 但找不到任何令人满意的东西。 对不起,如果这是一个愚蠢的 101 问题!
最佳答案
您只需迭代第一个理解的结果:
def double(x):
return x*2
def inc(x):
return x+1
[double(x) for x in (inc(y) for y in range(10))]
我将内部理解设为生成器表达式,因为您不需要获取完整列表。
关于python "multiple"组合/链表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16653408/