我有两个表a
&b
我需要选择的随机元素a[i]
,并b[i]
和产生z
。
a = [1, 0, 1, 1, 0, 1]
b = [1, 1, 0, 1, 0, 0]
z = [1, 0, 1, 1, 0, 0]
我使用了下面提到的代码:
import random
z = []
for i in range(6):
value = random(a[i],b[i])
z.append(value)
print z
我收到以下错误:
TypeError:“模块”对象不可调用
您可以使用random.choice
(此处的文档)。
从非空序列seq返回一个随机元素。
它从值列表中选择一个值。对于每次迭代,你可以创建列表a[i]
和b[i]
。
for i in range(6):
value = random.choice([a[i],b[i]])
z.append(value)
print( z)
# [1, 1, 1, 1, 0, 0]
另一种选择是使用random.sample
这里k=1
这里[a[i],b[i]]
是人口如下
返回从总体序列或集合中选择的唯一元素的ak长度列表
value = random.sample([a[i],b[i]], 1)
z.append(value[0])
value[0]
之所以使用此处,是因为它value
是一个包含单个元素的列表,因此,通过使用[0]
该元素,您可以获得没有列表的元素。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句