如何在Python中使用bin函数且不返回带0b前缀的结果
需求与性能测试
需求明确:调用bin(26)时返回'11010',而非带0b前缀的结果。拒绝推荐format方法,因为bin函数速度更快,但使用bin(i)[2:]切片会导致性能大幅下降。
以下是性能测试代码及结果:
from time import time a = time() for i in range(100000): bin(i) print(time() - a) # 耗时:0.0 a = time() for i in range(100000): bin(i)[2:].zfill(8) print(time() - a) # 耗时:0.022130966186523438 a = time() for i in range(100000): format(i,'b') print(time() - a) # 耗时:0.015463829040527344 a = time() for i in range(100000): format(i,'08b') print(time() - a) # 耗时:0.031238079071044922 # 补充测试 a = time() for i in range(100000): bin(i)[2:] print(time() - a) # 耗时:0.02191925048828125
内容的提问来源于stack exchange,提问作者Frost Dream
相关产品推荐
相关产品推荐

