将前导零添加到字符串Python

将前导零添加到字符串Python,第1张

概述参见英文答案 > Best way to format integer as string with leading zeros?                                     11个 我已经有了一个算法可以做到这一点,但是代码很丑陋而且很慢.我假设libs中有一个内置函数或一些函数可以提供更快,更精确的结果. 我想要的是我可以给出最终位数,字符串,列表或双端队列(最后可 参见英文答案 > Best way to format integer as string with leading zeros?                                     11个
我已经有了一个算法可以做到这一点,但是代码很丑陋而且很慢.我假设libs中有一个内置函数或一些函数可以提供更快,更精确的结果.

我想要的是我可以给出最终位数,字符串,列表或双端队列(最后可以转换为字符串的任何内容).

func(totalBits,binaryInStringOrListForm) -> String or List with leading zeroes

我已经得到的代码如下:

val = deque(["1","0"])     while len(val) < 8:         val.appendleft("0")

顺便说一句,deque是一种来自集合的对象,允许你在leftappend中,你可以在列表的开头添加一个项目,而不必将所有内容都移动一个.

对此有旧的答案,但它们都是Python 2,整个格式化的事情发生了重大变化.

编辑:我认为这个问题不是链接的重复,因为我实际上在领导零之后,因为@Martijn PIEters让我知道.

编辑:好吧,它似乎是那个副本.抱歉欺骗.

我最后编辑:我只是注意到了一些事情.在尝试使其长达一个字节时,我不断获得像000b0110这样的值.这与我想要的00000110相反.我只是添加这个,以便如果将来有人查找这个问题,他们会找到正确的东西.所以我所做的就是使用以下方法忽略字符串的前两个字符:

val = val[2::].rjust(8,'0')

我得到这个是因为我正在用一个带有“bin”的二进制数来转换一个数字,它返回一个字符串,该字符串在开头有一个“0b”(声明为二进制).

解决方法 有一个内置的,str.ljust() method.它取目标宽度和一个可选的填充字符(默认为空格).您可以使用它来填充带有’0’字符的字符串:

val = val.ljust(8,'0')

还有一个等效的str.rjust() method在左边添加填充.

但是,如果你想要前导零(而不是尾随),我会使用str.zfill() method,因为它需要任何 – 或前缀.

总结

以上是内存溢出为你收集整理的将前导零添加到字符串Python全部内容,希望文章能够帮你解决将前导零添加到字符串Python所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存