如何在Python中使用random.shuffle的可选参数

问题描述 投票:1回答:2

从random.shuffle(x [,random])的doc中,它说:

可选参数random是一个0参数的函数,返回[0.0,1.0)中的一个随机浮点数;默认情况下,这是函数random()

[有人可以解释一下0-argument function的含义,并举例说明random.shuffle()和可选参数random吗?我搜索了该案例,但找不到任何示例。另外,“这是函数random()”是什么意思? this是否引用可选参数?

python random
2个回答
0
投票

0参数函数的参数列表为空。

def random_seed():  # Zero arguments here.
  return MY_CONFIG.predictble_random_seed

random.shuffle(some_list, random_seed)  # Always the same.

0
投票

这意味着您可以传入不需要参数的函数名称。

def foo() 
    return 0.5

是这样的功能。

def bar(limit):
    return limit

不是,因为它需要参数limit

如果未指定任何内容,则默认值为函数random()


-1
投票

这是您想要的?

>>> import random
>>> r = random.random()
>>> r
0.4309619702601998
>>> x = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(x, lambda: r)
>>> x
[5, 1, 4, 2, 6, 3]
>>> random.shuffle(x, lambda: r)
>>> x
[6, 5, 2, 1, 3, 4]
>>> x = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(x, lambda: r)
>>> x
[5, 1, 4, 2, 6, 3]

Source

© www.soinside.com 2019 - 2024. All rights reserved.