嘗試去除二進制數字左端的「0b1」。這是Python 2.7中的一個錯誤嗎?
以下代碼導致剝離所有二進制對象。 (不好)
>>> 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()兩個步驟:
>>> bbn = '0b1000101110100010111010001' # Same fraction expqansion
>>> aan=bbn.lstrip("0b")# Had done this before.
>>> print aan #Extra "1" still there.
'1000101110100010111010001'
>>> aan=aan.lstrip("1")# If at first you don't succeed...
>>> print aan #YES!
'000101110100010111010001'
這是怎麼回事?
再次感謝您在一個簡單的步驟中解決這個問題。 (請參閱我的上一個問題)
[閱讀文檔幫助](http://docs.python.org/library/stdtypes.html#str.lstrip);):*字符參數不是一個前綴;相反,它的值的所有組合都被剝離。* – 2010-11-10 20:59:30
類似於str.lstrip爲什麼會剝去一個額外的字符? http://stackoverflow.com/questions/1687171/why-does-str-lstrip-strips-an-extra-character – 2010-11-10 21:08:44