将列表A中的值除以列表B中的相应值

时间:2015-01-27 19:00:32

标签: python list python-2.7

  

鉴于这些清单:

A = [6, 8, 12, 17]
B = [2.0, 0.5, 1.2, 3.33]
     

编写一个python程序来计算和打印出的值   列表A的元素除以列表B的相应元素。

我该怎么做?我尝试了这段代码但是没有得到正确的输出。

import math
A = [1, 5, 7, 13]    
B = [2.0, 0.5, 1.2, 3.33]

for a in A:
    print 'a = ',a

for b in B:
    print 'b = ',b

for c in A:
    print 'A/B = ',c/b
print "DONE!"

3 个答案:

答案 0 :(得分:2)

你真的很接近最后一个循环

for c in A:
    print 'A/B = ',c/b

没有意义,因为b的值来自最后一个循环。你必须这样做

for c in range(len(A)):
    print 'A/B = ',A[c]/B[c]

很合适。您还可以在

中查看其他方法
  • [A[i]/B[i] for i in range(len(A))]
  • [i/j for i,j in zip(A,B)]
  • import numpy; numpy.divide(A,B)

答案 1 :(得分:1)

这是一个单行:

[ a / b for a, b in zip(A, B) ]

这会在您的具体示例中返回[3.0, 16.0, 10.0, 5.1051051051051051] ...

答案 2 :(得分:1)

使用zip()函数

A = [6, 8, 12, 17]
B = [2.0, 0.5, 1.2, 3.33]
for (a,b) in zip(A,B):
    print a/b

输出:

3.0
16.0
10.0
5.10510510511