Python列表随机选择
正在此处寻找帮助/解决方案Python列表随机选择,python,random,Python,Random,正在此处寻找帮助/解决方案 a = [1,2,3] b = [1,2,3] c = [1,2,3] d = [a,b,c] random.choice(random.choice(d)) 这给了我1,2或3。但是如何找到这个随机函数在a,b,c中使用的列表变量呢?如何使用索引函数,或者索引函数的语法是什么?对于我的程序,我必须弹出随机选择返回的元素。如果要从随机选择列表中删除某些内容,不需要变量名。列表对象本身就可以了 换句话说,只需从random.choice()给出的结果中删除所选数字即
a = [1,2,3]
b = [1,2,3]
c = [1,2,3]
d = [a,b,c]
random.choice(random.choice(d))
这给了我1,2或3。但是如何找到这个随机函数在
a
,b
,c
中使用的列表变量呢?如何使用索引函数,或者索引函数的语法是什么?对于我的程序,我必须弹出随机选择返回的元素。如果要从随机选择列表中删除某些内容,不需要变量名。列表对象本身就可以了
换句话说,只需从random.choice()
给出的结果中删除所选数字即可:
picked_list = random.choice(d)
picked = random.choice(picked_list)
picked_list.remove(picked)
如果必须有某种名称,请不要在输入列表中使用单独的变量。使用字典:
lists = {
'a': [1, 2, 3],
'b': [1, 2, 3],
'c': [1, 2, 3],
}
list_picked = random.choice(lists) # returns 'a', 'b', or 'c'
picked = random.choice(lists[list_picked])
lists[list_picked].remove(picked)
请注意,只需将列表放在最前面(按随机顺序排列),然后根据需要弹出元素,效率会更高:
d = [a, b, c]
for sublist in d:
random.shuffle(sublist)
# later on
picked = random.choice(d).pop() # remove the last element
不过,你必须弄清楚,在那里有一个空列表意味着什么。如果你想从随机选择的列表中删除某些内容,你不需要有变量名。列表对象本身就可以了 换句话说,只需从
random.choice()
给出的结果中删除所选数字即可:
picked_list = random.choice(d)
picked = random.choice(picked_list)
picked_list.remove(picked)
如果必须有某种名称,请不要在输入列表中使用单独的变量。使用字典:
lists = {
'a': [1, 2, 3],
'b': [1, 2, 3],
'c': [1, 2, 3],
}
list_picked = random.choice(lists) # returns 'a', 'b', or 'c'
picked = random.choice(lists[list_picked])
lists[list_picked].remove(picked)
请注意,只需将列表放在最前面(按随机顺序排列),然后根据需要弹出元素,效率会更高:
d = [a, b, c]
for sublist in d:
random.shuffle(sublist)
# later on
picked = random.choice(d).pop() # remove the last element
不过,您必须弄清楚在那里有一个空列表意味着什么。所以直接从
random.choice()
提供给您的列表对象中弹出即可。您不需要变量名,只需要列表对象本身。因此,只需直接从random.choice()
提供给您的列表对象中弹出即可。您不需要变量名,只需要列表对象本身。非常感谢。这个完全符合我的编码标准。@Kuladip:很高兴能帮上忙!如果您觉得它对您有用,请随时使用。:-)谢谢。这个完全符合我的编码标准。@Kuladip:很高兴能帮上忙!如果您觉得它对您有用,请随时使用。:-)