/:'list'和'list'Python不支持的操作数类型

时间:2017-10-15 20:19:28

标签: python random

我需要在2个变量中生成10个随机数并计算它们之间的比率。 我的代码如下。我究竟做错了什么?

from random import randint
N=10
a = [random.randint(0, 10) for _ in range(N)]
b = [random.randint(0, 10) for _ in range(N)]
print (a,b)
ratio = a/b

TypeError: unsupported operand type(s) for /: 'list' and 'list'

1 个答案:

答案 0 :(得分:1)

列表默认情况下不支持算术运算符,因为元素可能不是支持算术的东西(它们甚至可能不是数字,它们可能是混合类型!)。

你想要做类似

的事情
from random import randint

N = 10
a = [random.randint(0, 10) for _ in range(N)]
b = [random.randint(0, 10) for _ in range(N)]
ratio = [ai / bi for ai, bi in zip(a, b)]

print(a, b)
print(ratio)

有关进行此类计算的更方便方法,请查看NumPy