Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表随机选择_Python_Random - Fatal编程技术网

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:很高兴能帮上忙!如果您觉得它对您有用,请随时使用。:-)