如何在Python中列出n个数字并随机选择任意数字?

Sun*_*nny 25 python random list

我已经计算了一些东西,它出现在N.

现在我想有一个列表,其中包含0到N个数字.

例:

N = 5

然后, count_list = [1, 2, 3, 4, 5]

我怎么能这样做?

此外,一旦我创建了列表,我想从该列表中随机选择一个数字并使用该数字.

之后,我想从列表的剩余数字(N-1)中选择另一个数字,然后再使用它.

这样就可以了,列表是空的.

我怎样才能做到这一点?

Con*_*ius 35

您可以通过以下方式创建元素的枚举:

mylist = list(xrange(10))
Run Code Online (Sandbox Code Playgroud)

然后您可以使用该random.choice功能选择您的项目:

import random
...
random.choice(mylist)
Run Code Online (Sandbox Code Playgroud)

正如Asim Ihsan所说,我的回答没有解决OP的全部问题.要从列表中删除值,只需list.remove()调用:

import random
...
value = random.choice(mylist)
mylist.remove(value)
Run Code Online (Sandbox Code Playgroud)

正如takataka指出的那样,xrange内置函数range在Python 3中被重命名为.

  • `xrange`在python3中不起作用.只需对python3使用`range`即可. (3认同)

小智 7

您可以尝试此代码

import random
N = 5
count_list = range(1,N+1)
random.shuffle(count_list)

while count_list:
    value = count_list.pop()
    # do whatever you want with 'value'
Run Code Online (Sandbox Code Playgroud)