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]