python的一些技巧
学过C言语的同窗,或者看过《C言语从入门到放弃》这本书的同窗一定不会对“三目操作符”这种画面感十足的操作符感到生疏。
但是,直到我完成python小学一年级课程的时分才发现原来python也有相似的东西。比方:
def foo(val):
if val == 42:
return "you are a programmer!"
else:
return "you are a manong!"
或者你也能够这样写:
def foo(val):
return "you are a programmer!" if val == 42 else "you are a manong!"
讲道理的话,这个应该是一个坑,而非装逼技巧。由于撸主当年是从C++党转学python的,刚开端写代码总喜欢这样:
if isinstance('c', CPlusPlus):
assert(isinstance('python', CPlusPlus)
更变态的时分以至这样:
assert(type('C++') == CPlusPlus)
比方如下一个简单的例子:我需求将一个字符串列表中一切满足包含“result"字段的字符串挑选出来。
低年级的同窗可能会这么做:
def foo(xxx):
result_list = list()
for ele in org_list:
if "result" in ele:
result_list.append(ele)
BUT,这样做“一点都不酷!”。要酷还得靠装逼:
result_list = filter(lambda ele : "result" in ele, org_list)
不信的话,你就去试试咯:
【python的一些技巧】map(lambda ele : ele + 1, (1, 2, 3, 4))
reduce(lambda x,y:x+y, range(3))
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)