【发布时间】:2020-04-26 20:32:06
【问题描述】:
我的程序有两个数字列表。我想要做的是迭代通过zip()获得的zip列表,对两个中间变量应用两个不同的函数,并将第一个结果(应用compute_add())保存在一个列表中,第二个(应用compute_sub())在另一个。我可以在 zip 列表上迭代两次,但我想知道是否有办法一次性完成。
这是我的代码,当然没有运行。
def compute_add(_x, _y):
return _x * _y + 10
def compute_sub(_x, _y):
return _x * _y - 10
list1 = [1, 2, 3, 4, 5]
list2 = [10, 20, 30, 40, 50]
res1, res2 = [compute_add(x, y), compute_sub(x, y) for x, y in zip(list1, list2)]
有什么建议吗?
【问题讨论】:
-
使用单个 for 循环的唯一方法是不使用列表理解,因为您试图理解两个列表,而不是一个
-
你的代码有什么问题?