Slicing
中括號 [start:end] 取出字串的一部分(從 start
到 end-1
)
b = "Hello, World!"
print(b[2:5])
b[2:5]
代表從第 2 個字元到第 4 個字元(第 5 個字元不包含)。
llo
Slice From the Start
b = "Hello, World!"
print(b[:5]) # 輸出: Hello
等同於 b[0:5]
,就是從第 0 個字元(H)到第 4 個字元(o),不包含第 5 個(,)
Slice To the End
b = "Hello, World!"
print(b[2:]) # 輸出: llo, World!
等同於 b[2:len(b)]
,從第 2 個字元(l)開始一直到字串最後
Negative Indexing
- 負數索引是從右邊開始算,
-1
代表最後一個字元。 b[-5:-2]
代表從倒數第 5 個到倒數第 3 個(不包含倒數第 2 個)
b = "Hello, World!"
print(b[-5:-2]) # 輸出: orl
- b[-5] = 'o'
- b[-4] = 'r'
- b[-3] = 'l'
- b[-2] = 'd'(但不包含)
String slicing with step
b[start:end:step]
start
:起始索引(包含)end
:結束索引(不包含)step
:步進值(每幾個取一個)
EX:
Take every second character in a specific range
(每隔一個字元取一次)
b = "Hello, World!"
print(b[2:10:2])

output :
lo o
EX:
Reverse slicing
(反向步進)
b = "Hello, World!"
print(b[10:3:-2])
Output :
lo o
EX :
Take every second character from the entire string
(整串字元每隔兩個取一個)
b = "Hello, World!"
print(b[::2])
Output :
Hlo ol!