gpt4 book ai didi

python - 如何以随机顺序运行函数?

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:17 24 4
gpt4 key购买 nike

我想以随机顺序运行函数。它看起来像随机播放变量列表的“随机播放”函数。

输入:

def a():
print('a')

def b():
print('b')

def c():
print('c')

shuffle([a,b,c])

这是我想要的输出:

a
b
c

a
c
b

c
b
a

或等等如何以随机顺序运行函数?

最佳答案

random.shuffle是就地操作。所以你需要单独保留列表并对其进行洗牌。

import random

functions = [a, b, c]
random.shuffle(functions)

现在,函数被打乱了,你只需要执行它们

for func in functions:
func()

你可以把它存储在一个函数中,然后像这样做

def run_functions_in_random_order(*funcs):
functions = list(funcs)
random.shuffle(functions)
for func in functions:
func()

run_functions_in_random_order(a, b, c)

或者你可以像这样简单地使用闭包中的函数

def run_functions_in_random_order(*funcs):
def run():
functions = list(funcs)
random.shuffle(functions)
for func in functions:
func()
return run

random_exec = run_functions_in_random_order(a, b, c)

random_exec()
random_exec()
random_exec()

关于python - 如何以随机顺序运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39952782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com