import randomM = 4N = 3def generisanjevol1(nekalista, m): return random.choices(nekalista, k=m)def generisanjevol2(nekalista, m,n): #obj = [[random.choice(nekalista,k=m)] for i in range(N)]] obj = [[random.choice(nekalista)] for i in range(n)] return obj #def poredjenje()listaslova = ['A', 'B', 'C', 'D', 'E']lista = generisanjevol1(listaslova, M)lista2 = generisanjevol2(listaslova, M, N)print(lista)print(lista2)所以上面是我的嘗試 (generisanjevol2(nekalista, m,n)...接下來(lái)我想做的是:我想生成 N 個(gè)數(shù)組并用 random.choice 函數(shù)生成的字符串填充它們,它們?nèi)匀槐仨毷?listaslova 中的字符串)也許讓我們說(shuō) N=3 (N 代表數(shù)組的數(shù)量)和 M=4 (M 代表數(shù)組的長(zhǎng)度)我應(yīng)該得到這樣的結(jié)果(數(shù)組中的數(shù)據(jù)不必相同,因?yàn)樗鼈儺?dāng)然是隨機(jī)生成的):[A,C,D,E]([A,C,E,D] [E,C,B,A] [E,D,D,A])但我得到的結(jié)果如下:[A,D,E,C][[B],[D],[E]]PS 如果我嘗試評(píng)論的那個(gè),我會(huì)收到錯(cuò)誤
2 回答

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
注釋行中的錯(cuò)誤是因?yàn)槟幸粋€(gè)額外的]
. 并且random.choice
應(yīng)該是random.choices
。
但您也不應(yīng)該在對(duì) 的調(diào)用周圍放置另一個(gè)列表random.choice()
。它已經(jīng)返回一個(gè)列表。
def generisanjevol2(nekalista, m,n): obj = [random.choices(nekalista,k=m) for i in range(n)] return obj

呼啦一陣風(fēng)
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
就像@Barmar 所說(shuō),你確實(shí)有一個(gè)額外的[]
. 你的函數(shù)應(yīng)該看起來(lái):
def generisanjevol2(nekalista, m,n): ...: obj = [random.choices(nekalista, k=m) for i in range(n)] ...: return obj
添加回答
舉報(bào)
0/150
提交
取消