最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跟老齊學Python之玩轉(zhuǎn)字符串(3)

 更新時間:2014年09月14日 15:26:02   投稿:hebedich  
字符串是一個很長的話題,縱然現(xiàn)在開始第三部分,但是也不能完全說盡。因為字符串是自然語言中最復雜的東西,也是承載功能最多的,計算機高級語言編程,要解決自然語言中的問題,讓自然語言中完成的事情在計算機上完成,所以,也不得不有更多的話題。

字符串就是一個話題中心。

給字符串編號

在很多很多情況下,我們都要對字符串中的每個字符進行操作(具體看后面的內(nèi)容),要準確進行操作,必須做的一個工作就是把字符進行編號。比如一個班里面有50名學生,如果這些學生都有學號,老師操作他們將簡化很多。比如不用專門找每個人名字,直接通過學號知道誰有沒有交作業(yè)。

在python中按照這樣的順序?qū)ψ址M行編號:從左邊第一個開始是0號,向下依次按照整數(shù)增加,為1、2...,直到最后一個,在這個過程中,所有字符,包括空格,都進行變好。例如:

Hello,wor ld

對于這個字符串,從左向右的變好依次是:

0 1 2 3 4 5 6 7 8 9 10 11
H e l l o , w o r l d

在班級了,老師只要喊出學生的學號,自動有對應(yīng)的學生站起來。在python里面如何把某個編號所對應(yīng)的字符調(diào)出來呢?看代碼:

>>> a = "Hello,wor ld"
>>> len(a)   #字符串的長度是12,說明公有12個字符,最后一個字符編號是11
12
>>> a[0]
'H'
>>> a[3]
'l'
>>> a[9]
' '
>>> a[11]
'd'
>>> a[5]
','

特別說明,編號是從左邊開始,第一個是0。

能不能從右邊開始編號呢?可以。這么人見人愛的python難道這點小要求都不滿足嗎?

>>> a[-1]
'd'
>>> a[11]
'd'
>>> a[-12]
'H'
>>> a[-3]
' '

看到了嗎?如果從右邊開始,第一個編號是-1,這樣就跟從左邊區(qū)分開了。也就是a[-1]和a[11]是指向同一個字符。

不管從左邊開始還是從右邊開始,都能準確找到某個字符??垂傧矚g從哪邊開始就從哪邊開始,或者根據(jù)實際使用情況,需要從哪邊開始就從哪邊開始。

字符串截取

有了編號,不僅僅能夠找出某個字符,還能在字符串中取出一部分來。比如,從“hello,wor ld”里面取出“l(fā)lo”??梢赃@樣操作

>>> a[2:5]
'llo'

這就是截取字符串的一部分,注意:所截取部分的第一個字符(l)對應(yīng)的編號是(2),從這里開始;結(jié)束的字符是(o),對應(yīng)編號是(4),但是結(jié)束的編號要增加1,不能是4,而是5.這樣截取到的就是上面所要求的了。

試一試,怎么截取到",wor"

也就是說,截取a[n,m],其中n<m,得到的字符是從a[n]開始到a[m-1]

有幾個比較特殊的

>>> a[:]  #表示截取全部
'Hello,wor ld'
>>> a[3:]  #表示從a[3]開始,一直到字符串的最后
'lo,wor ld'
>>> a[:4]  #表示從字符串開頭一直到a[4]前結(jié)束
'Hell'

去掉字符串兩頭的空格

這個功能,在讓用戶輸入一些信息的時候非常有用。有的朋友喜歡輸入結(jié)束的時候敲擊空格,比如讓他輸入自己的名字,輸完了,他來個空格。有的則喜歡先加一個空格,總做的輸入的第一個字前面應(yīng)該空兩個格。

好吧,這些空格是沒用的。python考慮到有不少人可能有這個習慣,因此就幫助程序員把這些空格去掉。

方法是:

S.strip() 去掉字符串的左右空格
S.lstrip() 去掉字符串的左邊空格
S.rstrip() 去掉字符串的右邊空格
看官在看下面示例之前,請先自己用上面的內(nèi)置函數(shù),是否可以?

>>> b=" hello "
>>> b
' hello '
>>> b.strip()
'hello'
>>> b
' hello '
>>> b.lstrip()
'hello '
>>> b.rstrip()
' hello'

練習

學編程,必須做練習,通過練習熟悉各種情況下的使用。

下面共同做一個練習:輸入用戶名,計算機自動向這個用戶打招呼。代碼如下:

#coding:utf-8

print "please write your name:"
name=raw_input()
print "Hello,%s"%name

這段代碼中的raw_input()的含義,就是要用戶輸入內(nèi)容,所輸入的內(nèi)容是一個字符串。

其實,上面這段代碼存在這改進的地方,比如,如果用戶輸入的是小寫,是不是要將名字的首字母變成大寫呢?如果有空格,是不是要去掉呢?等等?;蛟S還有別的,看看能不能在這個練習中,將以前學習過的東西綜合應(yīng)用一下?

相關(guān)文章

最新評論

南投市| 华宁县| 上犹县| 宜昌市| 额济纳旗| 灵丘县| 玉门市| 普格县| 北川| 房产| 枣强县| 阿拉善盟| 浦县| 蓬溪县| 新源县| 昭苏县| 榆中县| 饶阳县| 贡嘎县| 江门市| 崇义县| 长乐市| 新昌县| 奉贤区| 深州市| 津市市| 沙洋县| 临漳县| 工布江达县| 威信县| 巩义市| 张家川| 深水埗区| 都江堰市| 林周县| 绵竹市| 女性| 获嘉县| 台江县| 河东区| 滕州市|