生成包含仅0-1s的数字的随机数len(10)

Pyt*_*ast 3 python

问题是不言自明的.

我试过这个.

import random

number = "".join([str(random.randint(0,1)) for i in xrange(0,10)])
print number
Run Code Online (Sandbox Code Playgroud)

是否有相同的内置功能?

Jon*_*nts 12

使用:

''.join(random.choice('01') for _ in xrange(10))
Run Code Online (Sandbox Code Playgroud)

这避免了int-> str,或者以randrange2**10的范围使用(以排除完整位集),​​然后格式化为二进制字符串.

format(random.randrange(2**10), '010b')
Run Code Online (Sandbox Code Playgroud)

另外,为避免溢出,您可以使用getrandbits并指定10作为金额,例如:

format(random.getrandbits(10), '010b')
Run Code Online (Sandbox Code Playgroud)

  • 我认为你的第二个解决方案会更加清晰[`random.getrandbits`](https://docs.python.org/2/library/random.html#random.getrandbits) (2认同)