python - 在 2 个单独的变量中同时获取 Floor Division 和 Remainder

标签 python optimization

是否有 python 内置(或刚刚优化的)函数可以在两个单独的变量中同时获取底除法和余数?

示例:

a, b = 10 divided by 4

期望的结果:

a = 2
b = 2

我需要这是一个优化的解决方案。

性能结果:

第一段代码:

for i in range(10000000):
    a, b = divmod(i, 5)
took 3.99 seconds to run

第二段代码:

for i in range(10000000):
    a = i // 5
    b = i % 5
took 2.56 seconds to run

备注:

阅读@casevh 的回答以获得更详细的解释。

tldr:如果数字很大,divmod() 效果会更好。

最佳答案

使用这个。这会对你有所帮助。

a,b = divmod(10,2)

它将返回两个值

关于python - 在 2 个单独的变量中同时获取 Floor Division 和 Remainder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47434724/

相关文章:

c# - 为什么 "int + string"在静态类型的 C# 中可能,但在动态类型的 Python 中却不行?

python - 嵌入式 python 中的 double

c++ - 由于调试符号而产生的巨大可执行文件,为什么呢?

swift - 如何优化这个在图中找到所有最大匹配的算法?

python - SPSS 中如何确定数字和字符串变量?

python - 在 eval 中修改 Python 全局变量

适用于 Windows/Gnome 的 Python GUI 库

algorithm - 遗传算法的自适应突变/交叉率

java - 如何减少 Scala (/Java) 的启动开销?

java - 在保存文件之前从 StandardProtectionPolicy 获取散列密码 - 使用 Apache PDFBox