欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年09月14日 15:26:02   投稿:hebedich  
字符串是一個(gè)很長(zhǎng)的話題,縱然現(xiàn)在開(kāi)始第三部分,但是也不能完全說(shuō)盡。因?yàn)樽址亲匀徽Z(yǔ)言中最復(fù)雜的東西,也是承載功能最多的,計(jì)算機(jī)高級(jí)語(yǔ)言編程,要解決自然語(yǔ)言中的問(wèn)題,讓自然語(yǔ)言中完成的事情在計(jì)算機(jī)上完成,所以,也不得不有更多的話題。

字符串就是一個(gè)話題中心。

給字符串編號(hào)

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

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

Hello,wor ld

對(duì)于這個(gè)字符串,從左向右的變好依次是:

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

在班級(jí)了,老師只要喊出學(xué)生的學(xué)號(hào),自動(dòng)有對(duì)應(yīng)的學(xué)生站起來(lái)。在python里面如何把某個(gè)編號(hào)所對(duì)應(yīng)的字符調(diào)出來(lái)呢?看代碼:

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

特別說(shuō)明,編號(hào)是從左邊開(kāi)始,第一個(gè)是0。

能不能從右邊開(kāi)始編號(hào)呢?可以。這么人見(jiàn)人愛(ài)的python難道這點(diǎn)小要求都不滿足嗎?

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

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

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

字符串截取

有了編號(hào),不僅僅能夠找出某個(gè)字符,還能在字符串中取出一部分來(lái)。比如,從“hello,wor ld”里面取出“l(fā)lo”。可以這樣操作

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

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

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

也就是說(shuō),截取a[n,m],其中n<m,得到的字符是從a[n]開(kāi)始到a[m-1]

有幾個(gè)比較特殊的

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

去掉字符串兩頭的空格

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

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

方法是:

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

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

練習(xí)

學(xué)編程,必須做練習(xí),通過(guò)練習(xí)熟悉各種情況下的使用。

下面共同做一個(gè)練習(xí):輸入用戶名,計(jì)算機(jī)自動(dòng)向這個(gè)用戶打招呼。代碼如下:

#coding:utf-8

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

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

其實(shí),上面這段代碼存在這改進(jìn)的地方,比如,如果用戶輸入的是小寫(xiě),是不是要將名字的首字母變成大寫(xiě)呢?如果有空格,是不是要去掉呢?等等。或許還有別的,看看能不能在這個(gè)練習(xí)中,將以前學(xué)習(xí)過(guò)的東西綜合應(yīng)用一下?

相關(guān)文章

  • python?random庫(kù)的簡(jiǎn)單使用demo

    python?random庫(kù)的簡(jiǎn)單使用demo

    這篇文章主要為大家介紹了python?random庫(kù)的簡(jiǎn)單使用demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • python對(duì)文件目錄的操作方法實(shí)例總結(jié)

    python對(duì)文件目錄的操作方法實(shí)例總結(jié)

    這篇文章主要介紹了python對(duì)文件目錄的操作方法,結(jié)合實(shí)例形式總結(jié)分析了Python針對(duì)文件目錄相關(guān)的遍歷、刪除、移動(dòng)、查找等操作技巧,需要的朋友可以參考下
    2019-06-06
  • 深入探究Python中變量的拷貝和作用域問(wèn)題

    深入探究Python中變量的拷貝和作用域問(wèn)題

    這篇文章主要介紹了Python中變量的拷貝和作用域問(wèn)題,包括一些賦值、引用問(wèn)題,以及相關(guān)函數(shù)在Python2和3版本之間的不同,需要的朋友可以參考下
    2015-05-05
  • Python Pandas數(shù)據(jù)中對(duì)時(shí)間的操作

    Python Pandas數(shù)據(jù)中對(duì)時(shí)間的操作

    這篇文章主要介紹了Python Pandas數(shù)據(jù)中對(duì)時(shí)間的操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 深入解析Python?3中Hash鍵值存儲(chǔ)的優(yōu)勢(shì)與應(yīng)用

    深入解析Python?3中Hash鍵值存儲(chǔ)的優(yōu)勢(shì)與應(yīng)用

    這篇文章主要介紹了深入解析Python?3中Hash鍵值存儲(chǔ)的優(yōu)勢(shì)與應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 一文掌握python中的__init__的意思及使用場(chǎng)景分析

    一文掌握python中的__init__的意思及使用場(chǎng)景分析

    __init__是構(gòu)造方法,誰(shuí)調(diào)用,表示誰(shuí)(更直觀的理解就是類(lèi)的方法中,誰(shuí)調(diào)用,表示誰(shuí),見(jiàn)下面第一個(gè)代碼)?。〔⒉皇潜剡x項(xiàng),也就是說(shuō)在類(lèi)中,這個(gè)不是必須用的,那什么場(chǎng)景需要用到,什么場(chǎng)景不需要用到呢,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • 使用Python的Flask框架構(gòu)建大型Web應(yīng)用程序的結(jié)構(gòu)示例

    使用Python的Flask框架構(gòu)建大型Web應(yīng)用程序的結(jié)構(gòu)示例

    雖說(shuō)Flask是一個(gè)以輕量級(jí)著稱(chēng)的框架,但也為大型Web應(yīng)用提供了諸如單元測(cè)試與數(shù)據(jù)庫(kù)遷移等許多便利的功能,這里我們來(lái)看一下使用Python的Flask框架構(gòu)建大型Web應(yīng)用程序的結(jié)構(gòu)示例:
    2016-06-06
  • python3 求約數(shù)的實(shí)例

    python3 求約數(shù)的實(shí)例

    今天小編就為大家分享一篇python3 求約數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python數(shù)字圖像處理之骨架提取與分水嶺算法

    python數(shù)字圖像處理之骨架提取與分水嶺算法

    這篇文章主要介紹了python數(shù)字圖像處理之骨架提取與分水嶺算法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python的Matplotlib庫(kù)圖像復(fù)現(xiàn)學(xué)習(xí)

    Python的Matplotlib庫(kù)圖像復(fù)現(xiàn)學(xué)習(xí)

    這篇文章主要給大家介紹了關(guān)于如何利用Matplotlib庫(kù)圖像復(fù)現(xiàn),matplotlib模塊提供了很高級(jí)和非常友好的使用方式,使用起來(lái)也是非常方便的,需要的朋友可以參考下
    2021-08-08

最新評(píng)論