新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:如何使用列表解析
根據(jù)已有列表,高效創(chuàng)建新列表的方式。

列表解析是Python迭代機制的一種應(yīng)用,它常用于實現(xiàn)創(chuàng)建新的列表,因此用在[]中。
語法:
[expression for iter_val in iterable] [expression for iter_val in iterable if cond_expr]
實例展示:
要求:列出1~10所有數(shù)字的平方 2#################################################### 31、普通方法: >>> L = [] >>> for i in range(1,11): ... L.append(i**2) ... >>> print L [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] #################################################### 2、列表解析 >>>L = [ i**2 for i in range(1,11)] >>>print L [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
1 要求:列出1~10中大于等于4的數(shù)字的平方 2 #################################################### 3 1、普通方法: 4 >>> L = [] 5 >>> for i in range(1,11): 6 ... if i >= 4: 7 ... L.append(i**2) 8 ... 9 >>> print L 10 [16, 25, 36, 49, 64, 81, 100] 11 #################################################### 12 2、列表解析 13 >>>L = [ i**2 for i in range(1,11) if i >= 4 ] 14 >>>print L 15 [16, 25, 36, 49, 64, 81, 100]
1 要求:列出1~10所有數(shù)字的平方除以2的值 2 #################################################### 3 1、普通方法 4 >>> L = [] 5 >>> for i in range(1,11): 6 ... L.append(i**2/2) 7 ... 8 >>> print L 9 [0, 2, 4, 8, 12, 18, 24, 32, 40, 50] 10 #################################################### 11 2、列表解析 12 >>> L = [i**2/2 for i in range(1,11) ] 13 >>> print L 14 [0, 2, 4, 8, 12, 18, 24, 32, 40, 50]
1 要求:實現(xiàn)兩個列表中的元素逐一配對。
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 ]
17 >>> print L3
18 [('x', 1), ('x', 2), ('x', 3), ('y', 1), ('y', 2), ('y', 3), ('z', 1), ('z', 2), ('z', 3)] 當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:如何使用列表解析
網(wǎng)頁路徑:http://www.dlmjj.cn/article/djdcegp.html


咨詢
建站咨詢
