DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> python字符串處理以靈活為最大優點
python字符串處理以靈活為最大優點
編輯:CSS詳解     

Python字符串如何進行相關的知識學習,我們在使用的時候有不少的問題阻礙著我們的使用。下面我們就詳細的看看如何才能更好的使用相關的Python字符串,希望對大家有所幫助。

  • Python列表與C#語言的相似度介紹
  • Python數據類型在常見集合中的語法
  • 對Python開源技術開發的相關了解
  • Python數組實踐中具體問題分析
  • Python socket服務如何進行配置詳解

看了大家用C++、C#、Java等語言的實現,總感覺牛刀殺雞太麻煩,有興趣的朋友可以自己寫寫看或者直接看原文的網友回復。我最近一段時間Python寫的比較多,讀到這些題目時候,就有一種躍躍欲試的沖動。因為我知道用Perl,Python,Ruby等動態語言來做這類題目,會是非常理想的。後來我做了這兩道題目,結果也令人滿意,代碼之簡潔保持在所有答案的前列。

先看第一題Python解答:

  1. dic = {}
  2. for s in "abcdefgabc":
  3. dic[s] = 1 if s not in dic else (dic[s]+1)
  4. print '\n'.join('%s,%s' % (k, v) for k, v in dic.items())
  5. 輸出結果:
  6. a,2
  7. c,2
  8. b,2
  9. e,1
  10. d,1
  11. g,1
  12. f,1

Python的四行代碼分別做了dictionary的聲明,賦值,字符串的遍歷,以及高效拼接。

如果還沒有看出它的簡潔和強大的話,請看第二題的解法:

  1. def main(offset=6):
  2. string = u'靜夜思 李白床前明月光,疑似地上霜。舉頭望明月,低頭思故鄉。090131'
  3. a = [[' ']*offset for row in xrange(offset)]
  4. for i in xrange(offset):
  5. for j in xrange(offset):
  6. a[i][j] = string[j + i*offset]
  7. b = [[r[col] for r in a[::-1]] for col in xrange(len(a[0]))]
  8. print '\n'.join([u'┊'.join(unicode(c) for c in row)for row in b])

輸出結果:

  1. 0┊低┊舉┊疑┊床┊靜9┊頭┊頭┊似┊前┊夜0┊思┊望┊地┊明┊思1┊故┊明┊上┊月┊ 3┊鄉┊月┊霜┊光┊李1┊。┊,┊。┊,┊白

這題如果用C#等實現,代碼要在20行以上。下面我簡單介紹一下這幾行代碼:

  1. 第3行,在Python裡面二維“數組”通過嵌套list來實現,這裡初始化一個6行6列的二維數組;
  2. 第7行,我們把“矩陣”順時針旋轉了90度(行列置換,並且對置換後的行首尾對調-這裡的::-1就是用來置換一個list的trick);


最後一行,我們把數組裡的每行中元素,每行之間分別用兩個不同字符拼接起來。join方法以及for..in..語句在Python字符串中是相當常見的用法。
通過這兩題,我們看到Python在處理字符串時候的十分靈活方便,雖然一種語言的好壞不應完全靠是否簡潔來衡量,但對於我個人而言,Python是目前我用過的最好的語言。而且對於趣味題來說,這不就是我們解題的趣味所在嗎?

以上就是對Python字符串的相關信息介紹。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved