python基礎學習筆記(五)

來源:互聯網
上載者:User

 

字串基本操作

  所有標準的序列操作(索引、分區、乘法、判斷成員資格、求長度、取最小值和最大值)對字串同樣適用,前面已經講述的這些操作。但是,請注意字串都是不可變的。

 

字串的方法:

字串從string 模組中“繼承”了很多方法,這裡只介紹一些特別有用的。

 

1、find 

find 方法可以在一個較長的字串中尋找子字串。它返回子串所在位置的最左端索引。如果沒有找到則返回-1.

>>> 'with a moo-moo here. and a moo-moo ther'.find('moo')7>>> title = "Monty Pyhon's Flying Circus">>> title.find('Monty')0>>> title.find('Python')-1

2、join

join 方法是非常重要的字串方法,它是split方法的逆方法,用來在隊列中添加元素:

>>> seq = ['1','2','3','4','5']>>> sep = '+'>>> sep.join(seq)'1+2+3+4+5'>>> dirs = '','usr','bin','env'>>> '/'.join(dirs)'/usr/bin/env'>>> print 'C:' + '\\'.join(dirs)C:\usr\bin\env

3、lower

lower 方法返回字串的小寫字母片。

如果想要編寫“不區分大小寫”的代碼的話,那麼這個方法就派上用場了-----代碼會忽略大小寫狀態。

>>> 'Trondheim Hammer Dance'.lower()'trondheim hammer dance'

4、replace 

replace 方法返回某字串的所有匹配項均被替換之後得到字串。

>>> 'This is a test'.replace('is','eez')'Theez eez a test'

如果,你使用過文文書處理工具裡的“尋找並替換”功能的話,就不會質疑這個方法的用處了。

 

5、split

這是一個非常重要的方法,它是join的逆方法,用來將字串分割成序列。

>>> '1+2+3+4+5'.split('+')['1', '2', '3', '4', '5']>>> '/usr/bin/env'.split('/')['', 'usr', 'bin', 'env']>>> 'using the default'.split()['using', 'the', 'default']

6、strip 

strip 方法返回去除兩側(不包含內部)空格的字串:

>>> '      internal white space is kept    '.strip()'internal white space is kept'

 

 

字典

 

字典的使用

現實中的欄位及在python中的欄位都進行了構建,從而可以輕鬆查到某個特定的詞語(鍵),從而找到它的意義(值)。

某些情況下,字典比列表更加適用:

#  表徵遊戲棋盤的狀態,每個鍵都是由座標值組成的元組;

#  隱藏檔修改次數,用檔案名稱作為鍵; 

#  數字電話/地址本

 

建立一個人名列表,以及四位的分機號碼:

>>> names = ['zhangsan','lisi','wangwu','sunliu']>>> numbers = ['2313','9102','3158','4326']#通過下下方法查詢>>> numbers[names.index('zhangsan')]'2313'

 

建立和使用字典

字典可以通過下面方式建立

>>> phonebook = {'zhangsai':'2313','lisi':'9102','wangwu':'3158'}

字典由多個鍵及與其對應的值構成,在上例中,名字是鍵,電話號碼是值。

 

dict函數

可以用dict 函數,通過其他映射(比如其他字典)或(鍵,值)這樣的序列對建立字典。

>>> items = [('name','gumby'),('age',42)]>>> d = dict(items)>>> d{'age': 42, 'name': 'gumby'}>>> d['name']'gumby'

dict函數也可以通過關鍵字參數來建立字典,如下例所示:

>>> d = dict(name ='gumby', age=42)>>> d{'age': 42, 'name': 'gumby'}

 

字典樣本:

#簡單資料庫#使用人名作為鍵的字典,每個人用另一個字典表示,其鍵‘phone’和‘addr’分別表示他們的電話號和地址,people ={    'zhangsan':{        'phone':'2341',        'addr':'foo drive 23'    },    'lisi':{        'phone':'9102',        'addr':'bar street 42'        },   'wangwu':{        'phone':'3158',        'addr':'baz avenue 90'        }    }#針對電話號碼和地址使用的描述性標籤,會在列印輸出的時候用到labels = {    'phone':'phone number',    'addr':'address'    }name = raw_input('Name:')#尋找電話號碼還是地址? 使用正確的鍵:request = raw_input('phone number(p) or address (a)?')#使用正確的鍵:if request == 'p':key = 'phone'if request == 'a':key = 'addr'#如果名字是字典中的有效鍵才列印資訊:if name in people: print "%s's %s is %s." %(name, labels[key], people[name][key])
------------------------
#輸入內容>>> Name:zhangsanphone number(p) or address (a)?p#列印結果zhangsan's phone number is 2341.

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.