今天我们也来说下python的7个案例。重点是这些案例反映的思维,在我看来,代码也是思维的一种良好体现
我记得上大学C语言的时候,有个题目是a,b两变量的数据交换。当是我给出的答案是
a,b=b,a,结果惨被打脸。就大部分编程语言而言,这样一个小小的需求,基本上都要通过中间变量去实现。而对于python,a,b=b,a这种写法就已经满足。其实随着学python的深入,会发现这门语言跟人的直觉思考方式非常相似。不信我们来看7个案例
1、计算1+2+…+100的和
普通实现:for循环累计,至少3行代码
Python实现:print(sum(range(1,101)))
解析:
sum函数在无参时,不管内部是什么都是全部相加(range返回的并不是列表,而是自身的对象,这都不重要),所以用一行代码就可以实现。
比如print(sum([1,2],[3,4])),返回值会是10。有没有发现,这种实现方式跟你大脑里面的初步逻辑:1,2,…100先罗列出来,然后直接相加就行了很像。这个过程中不需要用到循环,没学过编程的人也不可能想到循环
2、输入列表[1,2,3,4,5],希望能实现输出是[1,4,9,16,25]
普通实现:先定义一个函数实现平方功能,再for循环调用,至少5行代码
Python实现:
print(list(map(lambdax:x**2,[1,2,3,4,5])))
解析:将平方函数一次性映射与每一个元素,是不是很符合函数的本质,高中的时候,我们学过&