从相同索引的列表元素中选择随机整数并生成一个列表

时间:2018-11-03 00:08:15

标签: python list random

我有两个列表 system("ssh -t root@#{remote_ip} DISPLAY=:0 ./Thorgrim.sh") a,我需要选择一个随机元素ba[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:“模块”对象不可调用

3 个答案:

答案 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]])