[英]How to loop through a random function multiple times?
def a4():
p = []
for i in range(10):
p.append(random.sample(x, 100))
r = []
for i in p:
for j in i:
r.append(j)
return r
OUTPUT:
[0.5202486543583558, 0.5202486543583558, 0.5202486543583558, 0.5202486543583558, 0.5202486543583558]
a1000 = []
for i in range(5):
a4()
a1000.append(statistics.mean(a4()))
print(a1000)
我嘗試使用上面提到的for循環遍歷上面定義的函數,但該函數只運行一次,所有循環結果基本相同。 我希望每次循環運行該函數。 有人能告訴我為什么這個功能只運行一次?
正如在注釋中指出的那樣, a4
定義中的p
中的子列表具有完全相同的元素,完全相同的次數只有這些元素的順序發生變化。
因此, a4
每個新結果都是如此。 這些是元素排列的相同列表。 但是元素的順序與mean
的計算無關(置換元素的總和總是相同的)。 因此,你總是得到與結果相同的意思。
但是,您可能想要實現的是某種引導機制 。 在這種情況下,您會想要替換樣品。 而這反過來每次都會產生不同的結果。 如果這是你想要的,那么更換
p.append(random.sample(x, 100))
同
p.append(random.choices(x, k=100))
另外我會考慮使用numpy來做這些事情。 閱讀關於numpy數組方法的連接,展平。 和numpy.random.sample和numpy.random.choice。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.