第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

生成帶替換的隨機(jī)整數(shù)列表的最佳方法

生成帶替換的隨機(jī)整數(shù)列表的最佳方法

慕碼人2483693 2023-12-12 15:07:23
我能夠使用 for 循環(huán)生成帶有替換的隨機(jī)整數(shù)列表,但它看起來很冗長,并且必須有一種更優(yōu)雅的方法來使用純 python 或不使用random循環(huán)來執(zhí)行此操作。是否有更優(yōu)化的解決方案可以產(chǎn)生rand_list以下結(jié)果,而無需在每個循環(huán)上附加?import randomrand_list = [] for x in range(100):    r = random.choice([1,2,3,4,5])    rand_list.append(r)
查看完整描述

5 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個贊

我相信您需要使用隨機(jī)包中的函數(shù)choices,您只是缺少“s”!此外,您還需要添加k參數(shù)來說明您想要采樣多少個值:

values = [1,2,3,4,5]
print(random.choices(values,k=10))

輸出:

[2, 1, 4, 2, 2, 4, 1, 2, 1, 4]

在您的示例中,您需要將 k 固定為 100。


查看完整回答
反對 回復(fù) 2023-12-12
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個贊

使用random.choices

from random import choices

rand_list = choices(range(1,6),k=100)

k是隨機(jī)數(shù)的數(shù)量。


查看完整回答
反對 回復(fù) 2023-12-12
?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個贊

random.choices正是您所需要的:

from?random?import?choices

rand_list?=?choices(range(1,?6),?k=100)


查看完整回答
反對 回復(fù) 2023-12-12
?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個贊

print(list(random.choices([1, 2, 3, 4, 5], k=100)))



查看完整回答
反對 回復(fù) 2023-12-12
?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個贊

你可以使用理解

rand_list?=?[(random.randrange(5)?+?1)?for?x?in?range(100)]

如果您有較重的函數(shù)(可能是復(fù)雜的哈?;蚍祷貥O大的值),則可以使用生成器延遲值的創(chuàng)建。這可以節(jié)省內(nèi)存并允許在創(chuàng)建整個列表之前進(jìn)行處理。您可以在對值進(jìn)行計(jì)數(shù)后中斷,或者如果只需要特定數(shù)量(而不是連續(xù)過程),則可以迭代其中的一部分。

import itertools

import random


def gen():

? ? while True:

? ? ? ? yield random.randrange(5) + 1


max_iterations = 100


for value in itertools.islice(gen(), max_iterations):

? ? do_some_opertation(value)


查看完整回答
反對 回復(fù) 2023-12-12
  • 5 回答
  • 0 關(guān)注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號