Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python列表将每个值相乘_Python_Python 3.x_List - Fatal编程技术网

python列表将每个值相乘

python列表将每个值相乘,python,python-3.x,list,Python,Python 3.x,List,我想知道如何将两个不同列表中的每个元素相乘 例如: list_a=[1,2,3,4,5] list_b=[10,20,30,40,50] 我想让它成为1X10 2X20 3X30 4X40 5X50 因此结果将是10,40,90,160,250 如果你能帮助我,我将不胜感激 a = [1,2,3,4,5] b = [10,20,30,40,50] print [a[i]*b[i] for i in range(len(b))] 这将对您有所帮助更干净的版本将是: a,b = [1,2,3,4

我想知道如何将两个不同列表中的每个元素相乘

例如:

list_a=[1,2,3,4,5]
list_b=[10,20,30,40,50]

我想让它成为
1X10 2X20 3X30 4X40 5X50

因此结果将是
10,40,90,160,250

如果你能帮助我,我将不胜感激

a = [1,2,3,4,5] 
b = [10,20,30,40,50]
print [a[i]*b[i] for i in range(len(b))]

这将对您有所帮助

更干净的版本将是:

a,b = [1,2,3,4,5],[10,20,30,40,50]
for i,j in zip(a,b):
    print '%d x %d = '%(i,j),'%d units'% ((i*j))

您可以使用
zip
功能,如下所示

>>> list_a = [1,2,3,4,5]
>>> list_b = [10,20,30,40,50]
>>> [(x[0]*x[1]) for x in zip(list_a,list_b)]
[10, 40, 90, 160, 250]
使用
zip()

输出:

[10, 40, 90, 160, 250]

可能重复的
zip
,这是最好的方法。您忘了退回他们的产品!我将错误地理解这个问题,现在我将更改输出为什么在您的解决方案中使用
str
。@adchoi_97想要列表中的
integer
项而不是
string
。您应该使用
zip
而不是
map
。您能解释一下这有什么区别吗?我的意思是它节省了计算时间还是什么?那
map
用于映射操作,而
zip
用于压缩。您正在使用
zip
进行映射。它的形式很糟糕。你不需要
None
参数,只要
zip(a,b)
是的,我检查过了!对于Python3,您需要将
k,v
放在如下括号中:
(k,v)
。最后一行是
Final=[k*v代表zip中的(k,v)(列表a,列表b)]
。对不起,你说得对。Python3文档说需要括号,但它只是理解列表的返回部分。
[a*b代表a,b在zip中(list\u a,list\u b)]
会稍微整洁些或者
列表(map(operator.mul,list\u a,list\u b))
list_a = [1,2,3,4,5]
list_b = [10,20,30,40,50]
final = [k*v for k, v in zip(list_a, list_b)]
print final
[10, 40, 90, 160, 250]