Py小技巧一:在列表,字典,集合中根据条件筛选数据
2024-08-29 02:47:53
1.过滤掉列表中的某些项---列表解析
data=[1,4,2,8,5,-1]
res=[]
a.依次迭代列表中每一个项
for x in data:
if >=0:
res.append(x)
print res
b.使用lambda表达式来进行过滤
form random import randint
data = [randint(-10,10)for _ in xrange(10)]
filter(lambda x: x>=0,data)
c.使用列表解析俩进行过滤
[x for x in data if x>=0]
对两种情况进行性能的比较:
timeit filter(lambda x: x>0,data)->909ns
timeit [x for x in data if x>=0]->455ns
由上可以看出列表解析的速度更快,首选列表解析,但是上述两种方法都远快于迭代的方法
2.筛选出指点中的某些元素----字典解析
d = {x:randint(60,100) for x in range(1,21)}
#筛选出字典中大于90的值
{k: v for k,v in d.iteritems() if v>90} #使用字典解析
3.筛选集合中符合某些条件的元素---集合解析
{x for x in s if x% 3==0}
最新文章
- biweb添加新的模块
- 解决git无法clone提示443以及配置git代理方法
- Linux笔试常见填空题
- K-means之matlab实现
- 【转】java内部类的作用
- HDU 1018 Big Number
- android131 360 02 设置中心
- Ajax请求过程中显示“进度”的简单实现
- 开发日志_Jan.8.2017
- Python connect zookeeper use the kazoo module
- Spring学习笔记——Spring中的BeanFactory与FactoryBean
- Java使用LdAP获取AD域用户
- 使用c#给outlook添加任务、发送邮件
- angular-ui-bootstrap typeahead 智能提示 自动补全 获取焦点不触发问题的解决
- Vue生命周期中mounted和created的区别
- IIS7如何实现访问HTTP跳转到HTTPS访问
- [机器学习] 分类 --- Naive Bayes(朴素贝叶斯)
- (转载)彻底的理解:WebService到底是什么?
- Ubuntu 14.04 下安装 OpenCV
- 【JavaService】使用Java编写部署windows服务
热门文章
- 算法导论进度帖startedby20131029
- 转:Excel导入SQL数据库完整代码
- Linux 之 hugepage 大页内存理论
- Oracle DB备份恢复篇之丢失控制文件
- 通过Authentication Challenge来信任自签名Https证书
- 基于Oracle的EntityFramework的WEBAPI2的实现(三)—— 建立APIController及设置返回类型JSON、XML等
- FPGA常用设计思想与基本模块划分
- Gradle: Can't load library: native-platform.dll
- git 绑定远程仓方法
- asterisk配置SIP服务器