lambda函数和and - or技巧的使用

当collapse为true时,返回" ".join(s.split()),而当collapse为false时,则返回s

processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)

这个函数主要着重于简单的模糊处理和默认参数处理

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):while True:ok = raw_input(prompt)if ok in ('y', 'ye', 'yes'):return Trueif ok in ('n', 'no', 'nop', 'nope'):return Falseretries = retries - 1if retries < 0:raise IOError('refusenik user')print complaint

a,b = b,a+b

>>> def fib(n):    # write Fibonacci series up to n
...     """Print a Fibonacci series up to n."""
...     a, b = 0, 1
...     while a < n:
...         print a,
...         a, b = b, a+b
...
>>> # Now call the function we just defined:
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

函数接受和处理无法预计的参数

def cheeseshop(kind, *arguments, **keywords):print "-- Do you have any", kind, "?"print "-- I'm sorry, we're all out of", kindfor arg in arguments:print argprint "-" * 40keys = sorted(keywords.keys())for kw in keys:print kw, ":", keywords[kw]cheeseshop("Limburger", "It's very runny, sir.","It's really very, VERY runny, sir.",shopkeeper='Michael Palin',client="John Cleese",sketch="Cheese Shop Sketch")'''
-- Do you have any Limburger ?
-- I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
client : John Cleese
shopkeeper : Michael Palin
sketch : Cheese Shop Sketch
'''

高级构建列表技巧

>>>alist = [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
>>>alist
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]>>> vec = [[1,2,3], [4,5,6], [7,8,9]]
>>> [num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

矩阵转置

>>> m = [
... [1,2,3],
... [4,5,6],
... [7,8,9]
... ]
>>> n = [[row[i] for row in m] for i in range(3)]
>>> for nn in n:
...     print nn
...
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
>>>

格式化输出

for x in range(1,10):#rightstr1 = '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)#rightstr2 = str.rjust(repr(x),2)+str.rjust(repr(x*x),3)+str.rjust(repr(x*x*x),4)#leftstr3 = str.ljust(repr(x),2)+str.ljust(repr(x*x),3)+str.ljust(repr(x*x*x),4)#centerstr4 = str.center(repr(x),2)+str.center(repr(x*x),3)+str.center(repr(x*x*x),5)ol = "| %s | %s | %s | %s |" % (str1,str2,str3,str4)print ol

运行结果

文件操作应当使用with语句,保证能及时释放文件对象

with open("myfile.txt") as f:for line in f:print line,

转载于:https://www.cnblogs.com/zhangbo2012/p/3640699.html

python 经典函数相关推荐

  1. python sorted函数_Python 经典面试题 二

    1.简要描述Python的垃圾回收机制(garbage collection) Python中的垃圾回收是以引用计数为主,标记-清除和分代收集为辅. •引用计数:Python在内存中存储每个对象的引用 ...

  2. 80个Python经典资料(教程+源码+工具)汇总——下载目录

    2019独角兽企业重金招聘Python工程师标准>>> 大家好,51CTO下载中心根据资料的热度和好评度收集了80个Python资料,分享给Python开发的同学.内容包括1个Pyt ...

  3. python经典案例-Python经典实例

    本书是Python经典实例解析,采用基于实例的方法编写,每个实例都会解决具体的问题和难题.主要内容有:数字.字符串和元组,语句与语法,函数定义,列表.集.字典,用户输入和输出等内置数据结构,类和对象, ...

  4. python进行linux编程,Python之函数进阶

    本节内容 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函数 函数是可以被调用的,且一个函数内部可以调用其他函数.如果一个函数在内部调用本身,这个函数就是一个递归函数.函数递归 ...

  5. python class函数报错_Python 的函数是第一类 First-Class 对象

    Python的函数是第一类对象(first-class object).你可以把一个函数复制给变量,或者把函数存储在一个结构中.可以像参数一样把函数传递进另一个函数,还可以从一个函数中返回另一个函数. ...

  6. python编写函数_浅谈Python 函数式编程

    匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...

  7. python中函数的定义实例_Python基础之函数的定义与使用实例

    此文实例介绍了Python基础之函数的定义与使用.推荐给大伙学习一下,内容如下: Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表): 函数体 让我们使用函数来输出 ...

  8. python 经典100例 (61-80)

    python 经典100例(61-80) ''' [程序61] 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: ''' if __name__ == '__main__': a = ...

  9. python经典100例(41-60)

    python 经典100例(41-60) ''' [程序41] 题目:学习static定义静态变量的用法 1.程序分析: 2.程序源代码: ''' # python没有这个功能了,只能这样了:) de ...

最新文章

  1. unity3d 动画中断并重新播放的解决办法
  2. js带有折行的警告框
  3. 安装Xcode在Mac OS X10.7.3上
  4. Lambda01 编程范式、lambda表达式与匿名内部类、函数式接口、lambda表达式的写法...
  5. TypeScript Type Compatibility 类型兼容性
  6. StringEscapeUtils类的使用
  7. erdas遥感图像几何校正_【答疑】为什么要进行遥感图像处理?
  8. jQuery 中的 attr
  9. Thinking in java Java编程思想 该不该读
  10. c语言有趣小程序,c语言小程序代码大全(9个经典的C语言小程序)
  11. Windows10重装系统教程(超详细)
  12. acwing 1904 奶牛慢跑
  13. Java + OpenCV 实现图片年龄识别(JavaCV)
  14. DBeaver解决连接Oracle之后出现库名为数字问题
  15. chrome 油猴 电脑或者手机click()失效,解决
  16. Windows系统安装绿色版MySQL8
  17. C语言中逗号运算符和逗号表达式!
  18. 【vue3】远程组件加载
  19. 论文解读2019INFOCOM_Calibrate: Frequency Estimation and Heavy Hitter Identification with LDP
  20. JVM-Java虚拟机

热门文章

  1. Mocha BSM产品亮点——如何去干扰事件
  2. 团队作业——Alpha冲刺 4/12
  3. HBuilder搭建Android模拟器
  4. Git小结---So far.......
  5. Firefly是什么?有什么特点?
  6. iCloud5_Building and Running Your App
  7. VSphere虚拟化部署(五)
  8. git add/commit/pull之间的关系
  9. 【二分法】LeetCode 35. Search Insert Position
  10. vue从入门到进阶:Class 与 Style 绑定(四)