第一种我们使用函数的形式来实现
>>> aList=[1,2,3,4,5] >>> def test(aList): res=[] for x in range(len(aList)): if aList[x]%2==0: res.append(aList[x]) return res >>> test(aList) [2, 4] >>>
2.第二种我们采用filter
>>> list(filter(lambda x:x%2==0,[1,2,3,4,5])) [2, 4] >>>
3.第三种使用列表解析实现
>>> [x for x in [1,2,3,4,5] if x %2==0] [2, 4] >>>
第一种我们使用函数的形式来实现
>>> aList=[1,2,3,4,5] >>> def test(aList): res=[] for x in range(len(aList)): if aList[x]%2==0: aList[x]+=1 res.append(aList[x]) return res >>> test(aList) [3, 5]
2.第二种我们采用filter、map和lambda表达式联合实现
>>> aList=[1,2,3,4,5] >>> list(map(lambda x :x+1,filter(lambda x:x%2==0,aList))) [3, 5] >>>
3.第三种使用列表解析实现
>>> [x+1 for x in [1,2,3,4,5] if x %2==0]for循环嵌套在列表解析里面
>>> [x+y for x in range(4) for y in range(2)] [0, 1, 1, 2, 2, 3, 3, 4] >>> [(x,y) for x in range(4) for y in range(2)] [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1), (3, 0), (3, 1)] >>>
等价for循环代码
>>> def test(): res=[] for x in range(4): for y in range(2): res.append(x+y) return res >>> test() [0, 1, 1, 2, 2, 3, 3, 4] >>> >>> def test(): res=[] for x in range(4): for y in range(2): res.append((x,y)) return res >>> test() [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1), (3, 0), (3, 1)] >>>
下面我们举出一些例子:
>>> [(x,y) for x in range(4) if x%2==0 for y in range(5) if y%2!=0] [(0, 1), (0, 3), (2, 1), (2, 3)] >>>
等级代码
>>> def test(): res=[] for x in range(4): if x%2==0: for y in range(5): if y%2!=0: res.append((x,y)) return res >>> test() [(0, 1), (0, 3), (2, 1), (2, 3)] >>>
总结:这一章节主要介绍了增加分支测试与嵌套循环来解析列表。
这一章节就说到这里,谢谢大家
------------------------------------------------------------------
点击跳转零基础学python-目录