我們可以使用python的切片操作來完成list的倒序操作,比如:
a=['a','b','c','d','e','f']
print(a[ : :-1])
可以得到如下結果:
['f', 'e', 'd', 'c', 'b', 'a']
下面來看看如下操作:
(1)
a=['a','b','c','d','e','f']
print(a[ 4: :-1])
結果:
['e', 'd', 'c', 'b', 'a']
(2)
a=['a','b','c','d','e','f']
print(a[ 4: 0:-1])
結果
['e', 'd', 'c', 'b']
(3)想在不省略第二個引數的情況下,把e之前的元素都輸出:
a=['a','b','c','d','e','f']
print(a[4: -1:-1])
結果卻是
這是什麼原因呢,
現在來講一下有關list切片時,步長為負時要注意的問題:
當我們使用list的三元組形式[a:b:c]進行切片時,系統遵行以下規則:
1.首先系統檢查c,預設值為+1。c的值決定是正序還是逆序
2.接著檢查a,當c為正值或者省略時,a的預設值為0;如果c的負值時,a的預設值是-1
3.最後檢查b,當c為正值或者預設值時,b的預設值是len;當c的值是負時,b的預設值是-(len+1)
所以我們再看看以下情況:
a[4: -1:-1]相當於由a[4]–a[-1-1]:相當於從第四個元素到第四個元素逆序輸出,所以為空值
a[ : -1:-1]相當於a[len-1:len-1:-1],所以輸出的也是空
如果想通過修改第二個引數來使得list中的第乙個元素被輸出出來,則第乙個元素可以表示為-(len+1),如:
eg1
a=['a','b','c','d','e','f']
print(a[-2:-7
:-1])
['e', 'd', 'c', 'b', 'a']
想通過a[5:b:-1] 的形式把前五個字元都輸出來好像是不可實現的,(b=-1輸出)
當我們使用切片的時候,如果ab引數都不省略的話,盡量避免ab符號不同
NSArray 倒序 輸出
今天因為自己一些知識的不了解,導致了開發時間的浪費,現在乙個需求記錄使用者曾使用的歷史 功能,單獨在documents建立了乙個資料夾存放使用者,後來想法是先遍歷資料夾下的內容,獲取乙個陣列來進行操作。但是輸出的nsarray很糾結,不是倒序排列的,於是乎,想用plist進行儲存,然後再輸出下,後來...
C 倒序輸出
定義好的陣列輸入。char ch1 10 abcde ch2 10 int i 0,j 0,n 0 n strlen ch1 for i n 1 i 0 i cout ch2 endl 從命令串列埠輸入 連續的 字串 或者 數字。有空格就不行 相當於兩個數或者兩個字串 include include...
分割片語倒序輸出
一點點的將印象筆記中整理的東西搬家到部落格 下面這個例子講的是按照片語順序反轉輸出,比如 輸入的句子為 how are you 經過反轉後為 you are how 以下為 示例 按單詞的字串反轉 string string 1 2 3 4 5 6 7 8 9 stackstack new stac...