我需要在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'
答案 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。