[英]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.