每天十分钟,十二天入门Python(四)

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

def num(x):
   return x*x

print map(num,[1,2,3,4,5,6,7,8,9])

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

reduce()把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

def add(x,y):
   return x+y

print reduce(add,[1,3,5,7,9])

#25

def list2num(x,y):
   return x*10+y

print reduce(list2num,[1,3,5,7,9])

#13579

sorted()函数就可以对list进行排序:

print sorted([3,6,8,9,4,1,2])
#[1, 2, 3, 4, 6, 8, 9]

def reversed_cmp(x,y):
   if x>y:
       return -1
   else:
       return 1
   return 0

print sorted([3,6,8,9,4,1,2],reversed_cmp)
# [9, 8, 6, 4, 3, 2, 1]

python中得闭包,和javascript中很类似:

def lazy_sum(*args):
   def s():
       return sum([x for x in args])
   return s

f = lazy_sum(1,2,3,4,5)

print f()
# 15
f2 = lazy_sum()

print f2()
# 0

通过lambda实现匿名函数:

f = lambda x: x*x

print f(5)
# 25

时间: 2024-10-10 04:08:10

每天十分钟,十二天入门Python(四)的相关文章

每天十分钟,十二天入门Python(十)

# __str__() class Dog(object): def __init__(self,name): self.name = name def __str__(self): return 'Dog object(%s)' % self.name print Dog('papa') # <__main__.Dog object at 0x1016b6cd0> # Dog object(papa) 这是__str__()添加前后的分别输出的结果 # __iter__() #!/usr/b

每天十分钟,十二天入门Python(六)

偏函数 - 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单. import functools int2 = functools.partial(int,base=2) print int('1000000',2) # 64 print int2('1000000') # 64 简单总结functools.partial的作用就是,把一个函数的某些参数(不管有没有默认值)给固定住(也就是设置默

十分钟快速入门 Python,看完即会,不用收藏!

本文以 Eric Matthes 的<Python编程:从入门到实践>为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章. 读完本篇文章后,可对 Python 语言特性.编码风格有一定了解,并可写出简单的 Python 程序. 100?多位经验丰富的开发者参与,在 Github 上获得了近?1000?个?star?的开源项目想了解下吗?项目地址:github.com/cachecats/c- 一.安装与运行 各个系统的 Pyth

程序员带你十天快速入门Python,玩转电脑软件开发(三)

声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 这是高级程序员快速入门Python语言课程.助你快速学习Python语言.这是第三课. 程序员带你十天快速入门Python,玩转电脑软件开发(一) 程序员带你十天快速入门Python,玩转电脑软件开发(二) 因技术知识连贯性,还没有学习前两课的同学,建议点

程序员带你十天快速入门Python,玩转电脑软件开发(一)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言的你.有梦想的你,立志做全栈攻城狮. 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 目录: 为什么学习Python? Pyt

程序员带你十天快速入门Python,玩转电脑软件开发(二)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 上节课主要讲解了以下内容: 为什么学习Pyth

Python语言十分钟快速入门

Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. AD:[51CTO技术沙龙]移动时代数据挖掘和行为分析—让用户数据更精彩! [简介] Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. python logo [特点] 1 Python使用C语言开发,但是Python不再

十分钟-Nginx 入门到上线

转载:https://gold.xitu.io/post/58846fceb123db7389d2b70e 前言 ??由于微信小程序要使用Https,但是又不能修改已有线上的配置.所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器.Nginx由于其优良的性能.一台4核16GB的内存完全可以支撑日均百万pv级别的访问. 基础知识 ??Nginx由于使用了 epoll模型,要求linux的内核必须在2.6以上.要了解epoll模型,可以看看知乎上的这篇文章I

十分钟-Nginx入门到上线

前言 ??由于微信小程序要使用Https,但是又不能修改已有线上的配置.所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器.Nginx由于其优良的性能.一台4核16GB的内存完全可以支撑日均百万pv级别的访问.基础知识??Nginx由于使用了 epoll模型,要求linux的内核必须在2.6以上. 使用 uname -a 查看Linux 内核版本,如下是Centos 6.5的显示: Linux VM_26_145_centos 2.6.32-504.30