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]

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