python基礎學習筆記(五)

2022-06-09 09:33:10 字數 3167 閱讀 2880

字串基本操作

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

字串的方法:

字串從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 =
字典由多個鍵及與其對應的值構成,在上例中,名字是鍵,**號碼是值。

dict函式

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

>>> items = [('name','gumby'),('age',42)]

>>> d = dict(items)

>>> d

>>> d['name']

'gumby'

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

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

>>> d

字典示例:

#簡單資料庫

#使用人名作為鍵的字典,每個人用另乙個字典表示,其鍵『phone』和『addr』分別表示他們的**號和位址,

people =,

'lisi':,

'wangwu':

}#針對**號碼和位址使用的描述性標籤,會在列印輸出的時候用到

labels =

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:zhangsan

phone number(p) or address (a)?p

#列印結果

python基礎教程學習筆記五

第五章 條件 迴圈和其他語句 print 和import 的更多資訊 使用逗號輸出 print age 32 age 32 兩條列印語句在同一行輸出 name retacn saluation mr.greeting hello print greeting,saluation,name hello...

python學習筆記(五)

python裡的流程控制語句 if expression statements s else statements s identationerror 縮排錯誤,縮排4個空格 true 非空的值 string,tuple,list,set,dict false 0,null,其他空值 需要多次判斷使...

python 學習筆記 (五)

遞迴函式,如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。該包下的iterable方法是用來判斷物件是否可以迭代 from collections import iterable 遞迴算階乘 def fact n if n 1 return 1 return n fact n 1 print ...