返回顶部
首页 > 资讯 > 后端开发 > Python >Python学习路线实用技法:筛选序列中的元素
  • 768
分享到

Python学习路线实用技法:筛选序列中的元素

2023-06-02 04:06:01 768人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python学习路线实用技法:筛选序列中的元素序列中含有一些数据,我们需要提取其中的值或根据某些标准对序列做删减,要筛选序列中的数据,通常最简单的方法是使用列表推导式。例如:myList=[1,4,-5,10,-7,2,3,-1]print

python学习路线实用技法:筛选序列中的元素

序列中含有一些数据,我们需要提取其中的值或根据某些标准对序列做删减,

要筛选序列中的数据,通常最简单的方法是使用列表推导式。

例如:

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(),就像示例中那样。

Python学习路线实用技法:筛选序列中的元素

--结束END--

本文标题: Python学习路线实用技法:筛选序列中的元素

本文链接: https://lsjlt.com/news/228860.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作