我希望能夠統計包含十六進制代碼的變量中出現「00」的次數。分割變量來計算雙字符組的數量
這是計算NULL的量字節包含在此代碼內,所以我要計數各2位數字爲1
48657920697420776f726b73000000000000000000000000000000000000
使用例如十六進制代碼設置爲變量,我試圖分裂它變成一個列表,如
['48' '65' '79' etc]
,然後計數,但不能讓它的工作
我希望能夠統計包含十六進制代碼的變量中出現「00」的次數。分割變量來計算雙字符組的數量
這是計算NULL的量字節包含在此代碼內,所以我要計數各2位數字爲1
48657920697420776f726b73000000000000000000000000000000000000
使用例如十六進制代碼設置爲變量,我試圖分裂它變成一個列表,如
['48' '65' '79' etc]
,然後計數,但不能讓它的工作
假設你可能有非常長字符串,而從二進制文件計數NUL字節,一個迭代器基於方法可能是首選:
>>> s="48657920697420776f726b73000000000000000000000000000000000000"
>>> sum(1 if x == ('0','0') else 0 for x in zip(*[iter(s)]*2))
18
謝謝。兩個答案都能很好地工作並給出相同的結果,但已經使用了這個 – MPythonLearner 2014-08-28 12:09:08
與嘗試:
line = '48657920697420776f726b73000000000000000000000000000000000000'
n = 2
list = [line[i:i+n] for i in range(0, len(line), n)]
list.count('00')
你可以看到一個工作樣本here
希望這有助於
謝謝偉大的工作,我有一些非常接近這一點,只是不太那裏 – MPythonLearner 2014-08-28 12:09:42
我也開始學習Python,所以有時我被困在這樣的事情。我很樂意幫助你:)。 – albciff 2014-08-28 12:21:51
*「無法讓它工作」* - 所以哪裏代碼,以及它究竟有什麼問題? – jonrsharpe 2014-08-28 11:19:42