我生成随机数,并轻松计算出它们的均值。但问题是,我怎样才能看到我生成的数字?我想将这些数字保存到矢量中。我怎么能这样做?
这是我的代码:
import random
print ("#n\tmean")
for n in (1,10,100):
sum = 0
mean = 0
for i in range(n):
sum += random.random()
mean = sum / n
print ("%d\t%g\t" % (n, mean))
提前谢谢!
答案 0 :(得分:5)
import random
n = 100
l = [random.random() for _ in range(n)]
mean = sum(l)/100
答案 1 :(得分:4)
使用列表保存所有结果:
results = []
for i in range(n):
sum += random.random()
mean = sum / n
results.append(mean)
然后通过以下方式获取输出数组:
np.hstack(results)
答案 2 :(得分:3)
我认为你需要这样的东西,如果你想避免numpy。
import random
print ("#n\tmean")
meansList = []
for n in (1,10,100):
sum = 0
mean = 0
for i in range(n):
sum += random.random()
mean = sum / n
meansList.append(mean)
print meansList
答案 3 :(得分:1)
使用numpy包
import numpy as np
my_numbers = np.random.uniform(0, 1, 100)
print np.mean(my_numbers)
答案 4 :(得分:1)
尝试python的内置数据结构列表,我认为它接近一个向量并且适合你。
vector = list()
//in the for loop
r = random.random()
vector.append(r)
另请注意,列表可以附加列表,因为您有两个for循环。例如,您可以执行类似
的操作outer_vector.append(inner_vector)
答案 5 :(得分:1)
您可以使用列表解析在一行中生成1,10,100的随机平均值:
import random
result = [(n,sum(random.random() for _ in range(n))/n) for n in (1,10,100)]
print(result)
一个可能的输出:
[(1, 0.1269484085194036), (10, 0.6572300932440089), (100, 0.4796109974064649)]
random.random() for _ in range(n)
是生成器理解,它提供sum
,除以n
以获得均值,包裹在外部循环中并创建具有值/均值的元组