我正在尝试从一堆方法中做出随机选择的最有效方法,这些方法从Python中这些方法中的列表中返回随机值。
import random
def list1():
list1 = ['apple', 'orange', 'banana']
return random.choice(list1)
def list2():
list2 = ['tomato', 'cauliflower', 'potato']
return random.choice(list2)
def list3():
list3 = ['milk', 'juice', 'water']
return random.choice(list3)
def return_random():
array_of_random = [list1(), list2(), list3()]
return random.choice(array_of_random)
random_word = return_random()
print(random_word)
def return_random_modified():
array_of_random2 = ['a', 'b', 'c']
random_choice2 = random.choice(array_of_random2)
if (random_choice2 == 'a'):
return list1()
if (random_choice2 == 'b'):
return list2()
if (random_choice2 == 'c'):
return list3()
random_word2 = return_random_modified()
print(random_word2)
谢谢您!
是,return_random
确实执行list1
,list2
和list3
方法,因为它们上面有()
。
通过移动调用括号将函数references >>传递到array_of_random
列表,然后then调用该随机函数来解决此问题:
def return_random():
array_of_random = [list1, list2, list3]
return random.choice(array_of_random)()
您具有N
功能,并希望避免评估未选择的N - 1
功能。好。