列表解析式是将一个列表(实际上适用于任何 可迭代对象(iterable) )转换成另一个列表的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。
列表解析:根据已有列表,高效创建新列表的方式。是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。
语法:
[expression for iter_val in iterable]
[expression for iter_val in iterable if cond_expr]
1 要求:实现两个列表中的元素逐一配对。
2 1、普通方法:
3 >>> L1 = ['x','y','z']
4 >>> L2 = [1,2,3]
5 >>> L3 = []
6 >>> for a in L1:
7 ... for b in L2:
8 ... L3.append((a,b))
9 ...
10 >>> print L3
11 [('x', 1), ('x', 2), ('x', 3), ('y', 1),
('y', 2), ('y', 3), ('z', 1), ('z', 2), ('z', 3)]
12 ####################################################
13 2、列表解析:
14 >>> L1 = ['x','y','z']
15 >>> L2 = [1,2,3]
16 L3 = [ (a,b) for a in L1 for b in L2