我碰巧发现自己有一个基本的过滤需求:我有一个列表,我必须通过项目的属性过滤它.
我的代码看起来像这样:
my_list = [x for x in my_list if x.attribute == value]
Run Code Online (Sandbox Code Playgroud)
但后来我想,这样写它会不会更好?
my_list = filter(lambda x: x.attribute == value, my_list)
Run Code Online (Sandbox Code Playgroud)
它更具可读性,如果需要性能,可以取出lambda来获得一些东西.
问题是:使用第二种方式有什么警告吗?任何性能差异?我是否完全错过了Pythonic Way™并且应该以另一种方式(例如使用itemgetter而不是lambda)来完成它?
给定列表['a','ab','abc','bac'],我想计算一个包含其中字符串的列表'ab'.即结果是['ab','abc'].如何在Python中完成?
我正在尝试下载一些公共数据文件.我使用screenscrape来获取文件的链接,这看起来像这样:
ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/nhanes/2001-2002/L28POC_B.xpt
Run Code Online (Sandbox Code Playgroud)
我在Requests库网站上找不到任何文档.1
提前致谢!