python自學筆記(九)python練習題


1. 已知字符串 a = "aAsmr3idd4bgs7Dlsf9eAF",要求如下

  1.1 請將a字符串的大寫改為小寫,小寫改為大寫

     print a.swapcase()

  1.2 請將a字符串的數字取出,並輸出成一個新的字符串

    print ''.join([s for s in a if s.isdigit()])-->3479

  1.3 請統計a字符串出現的每個字母的出現次數(忽略大小寫,a與A是同一個字母),並輸出成一個字典。 例 {'a':4,'b':2} 

    a = a.lower(a) #全部小寫,upper() 全部大寫

    print dict([(x,a.count(x)) for x in set(a)]) #先轉成集合,然后去原字符串中查找每個字符,效率高

  1.4 請去除a字符串多次出現的字母,僅留最先出現的一個。例 'abcabb',經過去除后,輸出 'abc'

    a_list = list(a) #轉成list

    set_list = list(set(a_list)) #去重以后再轉回list

    set_list.sort(key = a.list.index) #對去重以后的list進行原先的排序

  1.5 請將a字符串反轉並輸出。例:'abc'的反轉是'cba'

    print a[::-1] #步進為-1時就是反轉

  1.6 去除a字符串內的數字后,請將該字符串里的單詞重新排序(a-z),並且重新輸出一個排序后的字符 串。(保留大小寫,a與A的順序關系為:A在a前面。例:AaBb)

    l = sorted(a)排序,先數字再大寫后小寫的從小到大列表

    a_upper_list = [] #大寫數組

    a_lower_list = [] #小寫數組

    

    for x in l:#遍歷

      if x.isupper():

        a_upper_list.append(x)  #如果是大寫就添加到 大寫數組里

      elif x.islower():

        a_lower_list.append(x) #小寫添加到 小寫數組里

      else:

        pass

    for y in a_upper_list: #遍歷大寫數組

      y_lower = y.lower() #把每個元素轉成小寫

      if y_lower in a_lower_list: #如果小寫元素在 小寫數組里

        a_lower_list.insert(a_lower_list.index(y_lower),y) #通過值來獲取對應的索引,然后在其前面插入該大寫字母

      print ''.join(a_lower_list) #將小寫數組分割成字符串

 

   1.7 請判斷 'boy'里出現的每一個字母,是否都出現在a字符串里。如果出現,則輸出True,否則,則輸 出False.

     a = "aAsmr3idd4bgs7Dlsf9eAF"

    search = 'boy'

    u = set(a) #轉成集合,去重

    u.update(list(search)) #把search字符串轉成列表,然后用每個元素去集合u里面去找,如果沒有就更新到u里面,如果有就繼續找下一個元素

    print len(set(a) ) == len(u)) #如果左右兩邊的len相同就說明每一個字母都出現在字符串里面了,返回true,反則返回false

 

   1.8 要求如1.7,此時的單詞判斷,由'boy'改為四個,分別是 'boy','girl','bird','dirty',請判斷如上這4個字符串里的每個字母,是否都出現在a字符串里。

    search = ['boy','girl','bird','dirty']

    b = set(a)

    for i in search:

      b.update(list(i))

      print len(b) == len(set(a))

 

    1.9 輸出a字符串出現頻率最高的字母

    l = ([x,a.count(x) for x in set(a)])

    l.sort(key = lambda k:k[1],reverse = True)

    print[0][0]

    

   2.在python命令行里,輸入import this 以后出現的文檔,統計該文檔中,"be" "is" "than" 的出現次數。

      import os
    m = os.popen('python -m this').read()
    m = m.replace('\n',' ')
    l = m.split(' ')
    print [(x,l.count(x)) for x in ['be','is','than']]
  
   3.一文件的字節數為102324123499123,請計算該文件按照kb與mb計算得到的大小
    print '%s kb' %(size >>10)
    print '%s mb'%(size >>20)

   4.已知  a =  [1,2,3,6,8,9,10,14,17],請將該list轉換為字符串,例如 '123689101417'.

   print str(a)[1:-1].replace(',','')

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM