python字符串 分片索引
字符串是字符的有序集合,可以通過其位置來獲得具體的元素。在python中,字符串中的字符是通過索引來提取的,索引從0開始。
python可以取負值,表示從末尾提取,最後一個為-1,倒數第二個為-2,即程序認為可以從結束處反向計數。
>>> s1="hello" >>> s2="hello world" >>> s1 in s2 True >>> w in s2 Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> win s2 NameError: name ‘w‘ is not defined >>> "w" in s2 True >>> "w" in s1 False >>> s1==s2 False >>> if s1 != s2:print(‘no‘) no >>> s2 ‘hello world‘ >>> s1 ‘hello‘ >>> print(s2[0]) h >>> print(s2[-1]) d >>> print(s2[0:5]) hello>>> print(s2[0:4]) hell >>> print(s2[:5]) hello >>> print(s2[6:]) world >>> print(s2[-5]) w >>> print(s2[-5:]) world >>> print([s2]) [‘hello world‘] >>> print(s2[:]) hello world >>> print(s2[::2]) hlowrd >>> print(s2[1:7:2]) el
格式化字符串
格式化字符串時,Python使用一個字符串作為模板。模板中有格式符,這些格式符為真實值預留位置,並說明真實數值應該呈現的格式。Python用一個tuple將多個值傳遞給模板,每個值對應一個格式符。
比如下面的例子:
print("I‘m %s. I‘m %d year old" % (‘Vamei‘, 99))
上面的例子中,
"I‘m %s. I‘m %d year old" 為我們的模板。
%s為第一個格式符,表示一個字符串。%d為第二個格式符,表示一個整數。
(‘Vamei‘, 99)的兩個元素‘Vamei‘和99為替換%s和%d的真實值。
在模板和tuple之間,有一個%號分隔,它代表了格式化操作。
整個"I‘m %s. I‘m %d year old" % (‘Vamei‘, 99) 實際上構成一個字符串表達式。
我們可以像一個正常的字符串那樣,將它賦值給某個變量。比如:
a = "I‘m %s. I‘m %d year old" % (‘Vamei‘, 99)
print(a)
或者a(‘Vamei‘, 99)
我們還可以用詞典來傳遞真實值。如下:
print("I‘m %(name)s. I‘m %(age)d year old" % {‘name‘:‘Vamei‘, ‘age‘:99})
可以看到,我們對兩個格式符進行了命名。命名使用()括起來。每個命名對應詞典的一個key。
格式符
格式符為真實值預留位置,並控制顯示的格式。格式符可以包含有一個類型碼,用以控制顯示的類型,如下:
%s 字符串 (采用str()的顯示)
%r 字符串 (采用repr()的顯示)
%c 單個字符
%b 二進制整數
%d 十進制整數
%i 十進制整數
%o 八進制整數
%x 十六進制整數
%e 指數 (基底寫為e)
%E 指數 (基底寫為E)
%f 浮點數
%F 浮點數,與上相同
%g 指數(e)或浮點數 (根據顯示長度)
%G 指數(E)或浮點數 (根據顯示長度)
%% 字符"%"
python字符串 分片索引