从一个函数到另一个随机选择数字

时间:2018-10-15 00:32:32

标签: python python-3.x genetic-algorithm

很抱歉,我对Python和一般的编程不了解。我正在测试与此类似的功能;

def test1(self):
    return x # This returns a set of numbers. e.g [1, 5, 7, 8, 12]
def test2(self, a, b):
    # now I want to pick two numbers randomly from test1 into the function test2 function.

这是我的尝试,但出现错误。

def test1(self):
    return x # This returns a set of numbers. e.g [1, 5, 7, 8, 12]
def test2(self, a, b):
    a = test1.[ random.randint(0, len(x) )]
    b = test1.[ random.randint(0, len(x)) ]
    return a, b

例如,在第一次尝试中,我可能会遇到(5,8),而第二次执行test2时,我应该有一个不同的值,例如(12,1)等。 我不知道该如何实施。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您可能要使用random.sample()

答案 1 :(得分:1)

我认为您在这方面过于矫kill过正,并使您的任务变得更加复杂。首先将列表传递到test1,然后将结果传递到test2并从该值中提取2个choice并返回它们,这两个函数只需要接收一个参数

from random import choice

def test1(x):
    return x 

def test2(x):
    a = choice(x)
    b = choice(x)
    return a, b

print(test2(test1([1, 5, 7, 8, 12])))