Python 官方文档:入门教程 => 点击学习
python学习路线实用技法:筛选序列中的元素序列中含有一些数据,我们需要提取其中的值或根据某些标准对序列做删减,要筛选序列中的数据,通常最简单的方法是使用列表推导式。例如:myList=[1,4,-5,10,-7,2,3,-1]print
序列中含有一些数据,我们需要提取其中的值或根据某些标准对序列做删减,
要筛选序列中的数据,通常最简单的方法是使用列表推导式。
例如:
myList=[1,4,-5,10,-7,2,3,-1]print([n for n in myList if n>0])print([n for n in myList if n<0])
结果:
[1, 4, 10, 2, 3][-5, -7, -1]
使用列表推导式的一个潜在缺点是如果原始输入非常大的话,这么做可能会产生一个庞大的结果。如果这是你需要考虑的问题,那么可以使用生成器表达式通过迭代的方法产生筛选结果,例如:
myList=[1,4,-5,10,-7,2,3,-1]pos=(n for n in myList if n >0)for x in pos: print(x)
结果:
141023
有时候筛选的标准没法简单地表示在列表推导式或生成器表达式中。比如:假设筛选过程涉及异常处理或者其他一些复杂的细节。可以将处理筛选逻辑的代码放到单独的函数中,然后使用内建的filter()函数处理,示例如下:
values=['1','2','-3','-','4','N/A','5']def is_int(val): try: x=int(val) return True except ValueError: return Falseivals=list(filter(is_int,values))print(ivals)
结果:
['1', '2', '-3', '4', '5']
filter()创建了一个迭代器,因此如果我们想要的是列表形式的结果,请确保加上了list(),就像示例中那样。
--结束END--
本文标题: Python学习路线实用技法:筛选序列中的元素
本文链接: https://lsjlt.com/news/228860.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0