1. zip函数。可以把两个长度相同的list组合成一个相同长度的二元tuple,如 x =[1,2,3], y = [11,22,33],那么 t = zip(x, y) 得到t = ((1, 11), (2, 22), (3, 33)), 而 x, y = zip(*t)得到原来的x,y
2. sorted(iterable, key=None, reverse=False)函数,按照指定的key进行排序。例如
class Student:
def __init__(self, name, grade, age):
self.name = name
self.grade = grade
self.age = age
def __repr__(self):
return repr((self.name, self.grade, self.age))
student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
student_objects = [
Student('john', 'A', 15),
Student('jane', 'B', 12),
Student('dave', 'B', 10),
]
#itemgetter和attrgetter是两个函数对象
from operator import itemgetter, attrgetter
# 按照单键进行排序:
sorted(student_tuples, key=itemgetter(2))
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
sorted(student_objects, key=attrgetter('age'))
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
# 按多键排序
sorted(student_tuples, key=itemgetter(1,2))
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
sorted(student_objects, key=attrgetter('grade', 'age'))
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
3. sys.argv 类似于c里面的argv,参数数目由len(sys.argv)得到。注意在python中,第一个元素也是函数名。第二个元素才是真正的参数。需要import sys模块。sys中有很多类似于C的变量和函数,如sys.exit()等。