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... 等等的編碼(如下所示), 要如何印出中文呢?
>>> 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]