1,去重
Python列表去掉重复元素的一种方法:
>>> L = [1, 2, 3, 4, 1, 2, 3, 4, 5]
>>> [x for x in L if x not in locals()['_[1]']]
[1, 2, 3, 4, 5]
或者
list(set(a))
2,对象排序
list 排序在包含某元素的列表中依据某个属性排序是一个很常见的操作。例如这里我们先创建一个包含 person 的 list:
class Person(object):
def __init__(self, age):
self.age = age
persons = [Person(age) for age in (14, 78, 42)]
传统的方式是:
def get_sort_key(element):
return element.age
for element in sorted(persons, key=get_sort_key):
print "Age:",
element.age更加简洁、可读性更好的方法是使用 Python 标准库中的 operator 模块:
from operator import attrgetter
for element in sorted(persons, key=attrgetter('age')):
print "Age:",
element.ageattrgetter 方法优先返回读取的属性值作为参数传递给 sorted 方法。operator 模块还包括 itemgetter 和 methodcaller 方法,作用如其字面含义。
3,三元操作
return 1 if v==0 else v
或者
return v==0 and 1 or v
4,读取文件
with open("d:/1.log") as fp:
line = fp.readline()
print line
5,格式化字符串
values= {'name':name,'message':message}
print ('Hello%(name)s,you have%(message)i'%values)