有序的集合
簡單舉例就是排隊,可以用第一位、第二位、、、一路指出每一個 item 的 index。str = 'SLICE' print(str[0]) # S print(str[1]) # L print(str[2]) # I li = ['S', 'L', 'I', 'C', 'E'] print(li[0]) # S print(li[1]) # L print(li[2]) # I
Slice 語法
[start : stop : step]以中括號組成,最多可以放入三個參數,每個參數都是 optional。
- start:起始 index,預設為 0,包含
- stop:結束 index,預設為總長度,不包含
- step:進位,預設為 1
for (int i=0; i<10; i+=2) { // i }
Slice 實務
直接看 code 最有感覺了。
str = 'Python' print(str) # Python li = list(str) print(li) # ['P', 'y', 't', 'h', 'o', 'n'] # zero-based print(str[0]) # P print(li[0]) # P,是 str,不是 list 喔 # 透過起迄取得子字串,包括起,不包括迄 print(str[0:4]) # Pyth print(li[0:4]) # ['P', 'y', 't', 'h'] # 起預設為 0,可用來取「前 n 碼」 print(str[:4]) # Pyth print(li[:4]) # ['P', 'y', 't', 'h'] # 迄預設為總長度 print(str[4:]) # on print(li[4:]) # ['o', 'n'] # 起迄都用預設值,就是指全部 print(str[:]) # Python print(li[:]) # ['P', 'y', 't', 'h', 'o', 'n'] # 迄小於等於起,得空字串或 list print(str[2:2]) # print(str[5:2]) # print(li[2:2]) # [] print(li[5:2]) # [] # 可以使用負整數,-1 表示最後一個 item,可用來取「後 n 碼」 print(str[-1]) # n print(li[-1]) # n,是 str,不是 list 喔 # 起可以低於 0,但不會回折,而是改用 0 print(str[-10:4]) # Pyth print(li[-10:4]) # ['P', 'y', 't', 'h'] # 迄可以超過總長度,但不會回折,而是改用總長度 print(str[0:10]) # Python print(li[0:10]) # ['P', 'y', 't', 'h', 'o', 'n'] # 還有神奇的第三個參數,表示一次跳幾位,預設為 1 位 # 可用來取奇數或偶數 item print(str[::2]) # Pto print(li[::2]) # ['P', 't', 'o'] print(str[1::2]) # yhn print(li[1::2]) # ['y', 'h', 'n'] # 神奇的第三個參數遇到負數,已瘋,表示反向 print(str[::-1]) # nohtyP print(li[::-1]) # ['n', 'o', 'h', 't', 'y', 'P'] # 已經無法思考了!!! print(str[::-2]) # nhy print(li[::-2]) # ['n', 'h', 'y']---
---
---
沒有留言:
張貼留言