繁体   English   中英

使用多个列表进行列表理解

[英]List comprehension using multiple lists

我无法确定从多个列表使用列表理解来生成列表的Python方式。 我正在尝试生成一个实现以下功能的列表:

vbat = Vmax-a + b + c

其中Vmax是常数,但a,b和c是列表。 我希望我可以做一些容易阅读的事情,像这样:

vbat = [Vmax - x + y + z for x in a and y in b and z in c]

我知道我可以使用map运算符创建一个新的组合列表,然后在新列表上使用列表理解功能,但这似乎有点丑陋且难以阅读。 我知道可以工作的代码如下所示:

newlist = map(sub,map(add,b,c),a)
vbat = [Vmax + x for x in newlist]

有没有针对读者的友好解决方案? 提前致谢。

zip函数可以将多个列表组合成一个元组序列:

[Vmax - a_el + b_el + c_el for (a_el, b_el, c_el) in zip(a, b, c)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM