xylz,imxylz

          關(guān)注后端架構(gòu)、中間件、分布式和并發(fā)編程

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            111 隨筆 :: 10 文章 :: 2680 評論 :: 0 Trackbacks

          6-10.

          Strings. Create a function that will return another string similar to the input string, but with its case inverted. For example, input of "Mr. Ed" will result in "mR. eD" as the output string.

           

           1#!/usr/bin/env python
           2#-*- coding:utf-8 -*-
           3#$Id: p0610.py 138 2010-05-21 09:10:35Z xylz $
           4
           5'''
           6This is a 'python' study plan for xylz.
           7Copyright (C)2010 xylz (www.imxylz.info)
           8'''
           9
          10import string
          11
          12_letters = string.ascii_letters
          13_map = dict(zip(_letters,_letters[26:52]+_letters[0:26]))
          14
          15def caseInverted(s):
          16    if s is None or len(s) ==0: return s
          17    r=[]
          18    for c in s:
          19        r.append(_map.get(c,c))
          20    return ''.join(r)
          21
          22if __name__ == '__main__':
          23    '''
          24    Create a function that will return another string similar to the input string, but with its case inverted. For example, input of "Mr. Ed" will result in "mR. eD" as the output string.
          25    '''
          26    print caseInverted('Mr.Liu')
          27
          第12行首先從string模塊里面加載所有字母的字符串,這個需要導(dǎo)入string模塊。
          最重要的是第13行,通過兩個字符串(a-Z對應(yīng)A-Z+a-z)來構(gòu)造一個dic,這里用到了zip內(nèi)置函數(shù),同時通過dict包裝下,這樣就成了一個dict。
          而在19行里面需要注意的是,對于那些不再dict里面的字符需要原樣返回,所以這里使用了get,如果直接使用下表操作[],會觸發(fā)一個異常。
          使用dict的另一個好處就是速度可能會快點(diǎn),這個沒有測試,搞不好直接遍歷字符串找到對應(yīng)關(guān)系可能更快。


          ©2009-2014 IMXYLZ |求賢若渴
          posted on 2010-05-21 17:14 imxylz 閱讀(16689) 評論(0)  編輯  收藏 所屬分類: Python

          ©2009-2014 IMXYLZ
          主站蜘蛛池模板: 望奎县| 静宁县| 万山特区| 安福县| 宁夏| 雷州市| 怀来县| 丰都县| 绥滨县| 沙坪坝区| 宜阳县| 台中市| 友谊县| 武山县| 博爱县| 东阳市| 沁阳市| 新野县| 建阳市| 获嘉县| 祁阳县| 惠州市| 米易县| 剑阁县| 济南市| 平潭县| 武义县| 中阳县| 鸡东县| 西乡县| 南雄市| 河源市| 敖汉旗| 赤水市| 休宁县| 雷山县| 务川| 淮南市| 和静县| 上高县| 汕尾市|