鉴于这些清单:
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!"
答案 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