2016-10-05 42 views
2

是否有可能改變python slice對象中的值?遞增切片對象?

舉例來說,如果我有

slice(0,1,None) 

我怎麼會在效果上加1後,開始和結束的值,因此將它轉換爲:

slice(1,2,None) 
+1

爲什麼要這樣做? –

+0

我有一個複雜的數據格式。此刻,它正在用一個標識該行的切片對象一次提取一行。供應商的格式有時與標準格式有不同的方向,即0 2 1 3而不是0 1 2 3.在代碼中,我必須以正確的順序得到這個最簡單的方法,就是將1加到或減1相關切片此切換行1和2。 – 218

回答

4

不完全是優雅的,但它的工作原理:

>>> s1 = slice(0,1,None) 
>>> s2 = slice(s1.start + 1, s1.stop + 1, s1.step) 
>>> s2 
slice(1, 2, None) 
>>>