qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          python學習之字符串

          字符串基本操作

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

           

          字符串的方法:

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

           

          1find 

          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:zhangsan phone number(p) or address (a)?p #打印結果 zhangsan's phone number is 2341.
          復制代碼

          posted on 2014-02-09 15:00 順其自然EVO 閱讀(165) 評論(0)  編輯  收藏 所屬分類: python

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 正阳县| 乌鲁木齐市| 长泰县| 华蓥市| 铜鼓县| 谷城县| 平遥县| 广水市| 酒泉市| 武邑县| 马公市| 禄劝| 吴桥县| 宿松县| 安庆市| 新民市| 阿巴嘎旗| 禄劝| 上林县| 金乡县| 耒阳市| 新安县| 卢氏县| 四会市| 凌云县| 浦江县| 安塞县| 政和县| 中江县| 朝阳区| 宁陕县| 万荣县| 台山市| 东宁县| 枝江市| 乐业县| 麻栗坡县| 牟定县| 韩城市| 绥德县| 苏尼特左旗|