2
Python中有什麼方法可以隨機順序執行任何操作嗎?假設我想運行function1()
,function2()
和function3()
,但不是按順序執行,可以這樣做嗎?顯而易見的答案是做一個列表並隨機選擇它們,但是如何從列表中獲取函數名並實際運行它?按隨機順序做事情嗎?
Python中有什麼方法可以隨機順序執行任何操作嗎?假設我想運行function1()
,function2()
和function3()
,但不是按順序執行,可以這樣做嗎?顯而易見的答案是做一個列表並隨機選擇它們,但是如何從列表中獲取函數名並實際運行它?按隨機順序做事情嗎?
這其實很簡單。 Python函數只是對象,恰好是可調用的。因此,您可以將它們存儲在一個列表中,然後使用呼叫運營商(()
)呼叫它們。
製作功能列表,用random.shuffle()
對它們進行整理,然後循環,調用它們。
to_call = [function1, function2, function3]
random.shuffle(to_call)
for f in to_call:
f()
如果你想存儲返回值,你可以將它們添加到列表中,這將使一個list comprehension一個很好的例子:
returned_values = [f() for f in to_call]