我有两个列表 system("ssh -t root@#{remote_ip} DISPLAY=:0 ./Thorgrim.sh")
和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]
,我收到以下错误:
TypeError:“模块”对象不可调用
答案 0 :(得分:1)
您可以使用random.choice
(文档here)。
从非空序列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]]
是以下人口
返回从总体序列或集合中选择的唯一元素的k长度列表
value = random.sample([a[i],b[i]], 1)
z.append(value[0])
此处使用value[0]
是因为value
是一个包含单个元素的列表,因此使用[0]
可以获得该元素而没有列表。
答案 1 :(得分:0)
首先,您需要导入随机模块。
import random
然后您可以调用其任何方法:
random.random()
此外,您还应该选择random.choice()
:
value = random.sample([a[i],b[i]], 1)
答案 2 :(得分:0)
实际上,它是一个模块,就像在调用random
一样,它是一个函数。您需要使用random.choice
选择以下两个选项之一:
value = random.choice([a[i],b[i]])