Python列表理解-生成多个数据
因此,以上是我的尝试(Generisanjevor2(内加里斯塔,m,n) 我想做的是下一步: 我想生成N个数组,并用random.choice函数生成的字符串填充它们,它们仍然必须是listaslova中的字符串)Python列表理解-生成多个数据,python,list,list-comprehension,Python,List,List Comprehension,因此,以上是我的尝试(Generisanjevor2(内加里斯塔,m,n) 我想做的是下一步: 我想生成N个数组,并用random.choice函数生成的字符串填充它们,它们仍然必须是listaslova中的字符串) 也许让我们假设N=3(N表示数组的数量)和M=4(M表示数组的长度),我应该得到这样的结果(数组中的数据不一定相同,因为它们当然是随机生成的): 但我得到的结果如下: [A,C,D,E] ([A,C,E,D] [E,C,B,A] [E,D,D,A]) p.S如果我尝试注释的那一行
也许让我们假设N=3(N表示数组的数量)和M=4(M表示数组的长度),我应该得到这样的结果(数组中的数据不一定相同,因为它们当然是随机生成的): 但我得到的结果如下:
[A,C,D,E]
([A,C,E,D] [E,C,B,A] [E,D,D,A])
p.S如果我尝试注释的那一行,我会得到一个错误您注释行中的错误是因为您有一个额外的
]
。和random.choice
应该是random.choices
但是,您也不应该在调用random.choice()
的过程中添加其他列表。它已经返回了一个列表
[A,D,E,C]
[[B],[D],[E]]
注释行中的错误是因为您有一个额外的
]
。和random.choice
应该是random.choices
但是,您也不应该在调用random.choice()
的过程中添加其他列表。它已经返回了一个列表
[A,D,E,C]
[[B],[D],[E]]
正如@Barmar所说,您确实有一个额外的
[]
。
您的函数应该如下所示:
def generisanjevol2(nekalista, m,n):
obj = [random.choices(nekalista,k=m) for i in range(n)]
return obj
正如@Barmar所说,您确实有一个额外的
[]
。
您的函数应该如下所示:
def generisanjevol2(nekalista, m,n):
obj = [random.choices(nekalista,k=m) for i in range(n)]
return obj
在注释行中,我得到random.choice(nekalista,k=m)的错误。。。它如下所示:
TypeError:choice()得到了一个意外的关键字参数“k”
它应该是random.choices
,就像在generisanjivol1
中调用random.choices()
一样,正如我在答案中所展示的。你看到我在你发表评论后编辑了答案了吗?写一个函数,比较列表并返回它们的相似程度。然后您可以使用排序(zip(lista2,lista2),key=lambda pair:yourFunction(*pair))。在注释行中,我得到随机选择的错误(nekalista,k=m)。。。它如下所示:TypeError:choice()得到了一个意外的关键字参数“k”
它应该是random.choices
,就像在generisanjivol1
中调用random.choices()
一样,正如我在答案中所展示的。你看到我在你发表评论后编辑了答案了吗?写一个函数,比较列表并返回它们的相似程度。然后可以使用排序(zip(lista2,lista2),key=lambda-pair:yourFunction(*pair))。