这是python2.7中的bug吗?

2024-07-07 05:37:44 发布

您现在位置:Python中文网/ 问答频道 /正文

试图从二进制数的左端去掉“0b1”。在

以下代码将导致剥离所有二进制对象。(不好)

>>> bbn = '0b1000101110100010111010001' #converted bin(2**24+**2^24/11)
>>> aan=bbn.lstrip("0b1")  #Try stripping all left-end junk at once.
>>> print aan    #oops all gone.
''

因此,我分两步执行.lstrip():

^{pr2}$

怎么回事?在

再次感谢你用一个简单的步骤解决了这个问题。(见上一个问题)


Tags: 对象代码bin二进制allleftatend
3条回答

这就是lstrip的工作方式。它删除参数中的任何字符,不一定是整个字符串。在第一个示例中,由于输入只包含这些字符,因此没有留下任何内容。在

不。剥离会删除传递序列中的所有字符,而不仅仅是文本序列。如果要删除固定长度的字符串,请将其切片。在

strip族将arg视为要删除的字符集。默认设置为“所有空白字符”。在

你想要:

if strg.startswith("0b1"):
   strg = strg[3:]

相关问题 更多 >