我正在寻找在 python 中获取随机布尔值(抛硬币)的最佳方法(快速而优雅)。
目前我正在使用 random.randint(0, 1)
或 random.getrandbits(1)
。
有没有我不知道的更好的选择?
原文由 Xavier V. 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在寻找在 python 中获取随机布尔值(抛硬币)的最佳方法(快速而优雅)。
目前我正在使用 random.randint(0, 1)
或 random.getrandbits(1)
。
有没有我不知道的更好的选择?
原文由 Xavier V. 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
4 回答3k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答879 阅读✓ 已解决
Adam 的回答相当快,但我发现
random.getrandbits(1)
要快很多。如果你真的想要一个布尔值而不是一个长那么仍然是
random.choice([True, False])
的两倍左右两种解决方案都需要
import random
如果最高速度不是优先事项,那么
random.choice
肯定读起来更好。请注意,由于属性查找,
random.choice()
比choice()
(在from random import choice
之后)慢。