我想上的同名the post接受的答案發表評論,但我的方式太綠。slice()函數在Python中做什麼? (相對於片符號)
答案「a [x:y:z]與[slice(x,y,z)]給出了相同的結果」,在我的嘗試中沒有證明是真實的,所以我正在尋求更深入的理解slice()和切片符號之間的區別。
我有具有消息體這樣的串行協議:Q0134CA24B。
如果我想收集該協議的內容,這將是非常好的做到這一點:
>>> str = 'Q0134CA24B'
>>> cmd = slice(0,1)
>>> str[cmd]
'Q'
>>> cs = slice(-2,0)
>>> str[cs]
''
>>> cs
slice(-2, 0, None)
>>> str[cs]
''
>>> str[-2:None:None]
'4B'
那麼,我究竟做錯了什麼? slice()與slice符號相比是否受限?這對我來說非常有用,因爲我經常使用串行協議並且使用slice()定義字符字段將是傳遞這種表示的Python方法。
我很難理解這個問題。聲明「a [x:y:z]給出了與[slice(x,y,z)]相同的結果」,在我的嘗試中沒有證明是真實的。「 - 我沒有看到你演示的任何嘗試這兩者之間的不一致性... – mgilson
沒有你的測試顯示[X:Y:Z]'之間的差。'和'一個[切片(X,Y,Z)]' – user2357112
哎呀該欺騙具有完全相同的標題太...它幾乎就像你可以谷歌它 –