gpt4 book ai didi

python - 在Python中从列表中随机选择时是否加载了所有方法的值?

转载 作者:太空宇宙 更新时间:2023-11-03 19:56:31 25 4
gpt4 key购买 nike

我试图想出最有效的方法来从一堆方法中进行随机选择,这些方法从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)

  1. 如果我使用 return_random() 方法,那么 list1()、list2() 和 list3() 方法返回的所有值都会加载到 array_of_random 变量上,或者仅 random.choice() 选择的方法返回的值是加载到变量 array_of_random 上?
  2. 如果问题 1 的答案是肯定的,那么 return_random_modified() 是更好的方法,还是还有其他更好的方法?
  3. 最终我计划使用此策略进行随机 API 调用以获取随机数据,因此我不想最终调用所有外部 API 并做出随机选择。我宁愿只调用一个随机 API。

提前谢谢您!

最佳答案

是的,return_random 确实执行 list1list2list3 方法,因为您有 ( ) 在他们身上。

您可以通过移动调用括号来将函数引用传递到array_of_random列表,然后然后 调用随机函数:

def return_random():
array_of_random = [list1, list2, list3]
return random.choice(array_of_random)()

关于python - 在Python中从列表中随机选择时是否加载了所有方法的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59505674/

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