python poetrys

python sorted()

使用python對列表(list)進行排序,說簡單也簡單,說複雜也複雜,我一開始學的時候也搞不懂在說什麼,只能搜索一些英文文章看看講解,現在積累了一些經驗,寫在這裏跟大家分享,我們通過例子來詳細解釋一下函數sorted的具體用法:

>>> a=[4,5,2,7,3,9]
>>> b=sorted(a)
>>> b
[2, 3, 4, 5, 7, 9]

我們需要用到參數key,也就是關鍵詞,看下面這句命令,lambda是一個隱函數,是固定寫法,不要寫成別的單詞;a_tuple表示列表中的一個元素,在這裏,表示一個元組,a_tuple只是臨時起的一個名字,你可以使用任意的名字;a_tuple[0]表示元組裏的第一個元素,當然第二個元素就是a_tuple[1];所以這句命令的意思就是按照列表中元組裏的第一個元素進行排序。

>>> a=[('b',2),('a',1),('c',0)]
>>> b=sorted(a,key=lambda a_tuple:a_tuple[0])
>>> b
[('a', 1), ('b', 2), ('c', 0)]
>>> b=sorted(a,key=lambda a_tuple:a_tuple[1])
>>> b
[('c', 0), ('a', 1), ('b', 2)]


Python 的 List 如果有中文的話, 會印出 \xe4\xb8... 等等的編碼(如下所示), 要如何印出中文呢? 

>>> a = ['中文', 'ab']
>>> print a
['\xe4\xb8\xad\xe6\x96\x87', 'ab']


下述列出幾種作法:
1.使用 decode('string_escape') 來達成


>>> a = ['中文', 'ab']
>>> print a
['\xe4\xb8\xad\xe6\x96\x87', 'ab']
>>> print str(a).decode('string_escape')
['中文', 'ab']


2.使用 uniout 來達成


安裝: sudo pip install uniout # Source code: https://github.com/moskytw/uniout
>>> a = ['中文', 'ab']
>>> import uniout
>>> print a
['中文', 'ab']



Python 字典(Dictionary) get() 函數返回指定鍵的值,如果值不在字典中返回默認值。

語法

get()方法語法:

dict.get(key, default=None)

參數

  • key -- 字典中要查找的鍵。
  • default -- 如果指定鍵的值不存在時,返回該默認值值。

返回值

返回指定鍵的值,如果值不在字典中返回默認值None。

實例

以下實例展示了 get()函數的使用方法:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 27}

print "Value : %s" %  dict.get('Age')
print "Value : %s" %  dict.get('Sex', "Never")

以上實例輸出結果爲:

Value : 27
Value : Never


Python lambda語法:

lambda [arg1[,arg2,arg3....argN]]:expression

python map()

很簡單,第一個參數接收一個函數名,第二個參數接收一個可迭代對象


複製代碼
ls = [1,2,3]
rs = map(str, ls)
 
#打印結果 ['1', '2', '3']
lt = [1, 2, 3, 4, 5, 6]
def add(num):
    return num + 1
 
rs = map(add, lt)
print rs #[2,3,4,5,6,7]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章