You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中打乱命令的执行顺序?

如何打乱命令的执行顺序?

你的示例代码存在一个关键问题:a = [print("something"),print("another_thing")] 这一行会立刻执行两个print语句,把它们的返回值(都是None)存入列表,后续的random.shuffle(a)只是打乱两个None的顺序,根本没改变命令的执行顺序。

要真正打乱命令的执行顺序,你需要把要执行的操作封装成可调用对象(比如函数、lambda表达式)存入列表,等打乱后再逐个调用:

基础写法(无参数命令)

import random

# 把要执行的操作封装成lambda存入列表
commands = [
    lambda: print("something"),
    lambda: print("another_thing")
]

# 打乱列表顺序
random.shuffle(commands)

# 逐个执行命令
for cmd in commands:
    cmd()

带参数命令的写法

如果需要执行带参数的命令,可以用functools.partial来封装:

import random
from functools import partial

def print_msg(msg):
    print(msg)

commands = [
    partial(print_msg, "something"),
    partial(print_msg, "another_thing")
]

random.shuffle(commands)
for cmd in commands:
    cmd()

这样每次运行,两个print的输出顺序都是随机的,真正实现了打乱命令执行顺序的需求。

内容的提问来源于stack exchange,提问作者Batuhan Işık

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 11:10:32