好友caoshijun最近找我做一个字符串的解码,字符串来源于moinmoin,其中将部分字符和中文做了转义,变成了括号内的2位16进制字符。例子字符如下:
"caoshijun(2f)logo(2e)jpg"
可见"(2f)"对应"/",而"(2e)"对应"."。
于是写了一段Python程序用于解码,写完以后感觉可读性极差,如下:
import re
aaa="caoshijun(2f)logo(2e)jpg"
print 'result=',re.sub('\((.*?)\)',lambda sre:''.join(map(lambda idx:chr(int(sre.groups()[0][idx*2]+sre.groups()[0][idx*2+1],16)),range(len(sre.groups()[0])/2))),aaa)
解析后的运行结果如下:
result= caoshijun/logo.jpg
话说这其中用了两个lambda,以及map()之类的函数式编程的元素。在Python中有效的利用函数式编程可以将代码行数继续降低,有助于提高可读性,不过写到上面这种情况就不太好了。记得以前某书某牛说:“人类可以理解的代码行数是有限的。”感觉很有理。
分享到:
相关推荐
Python函数式编程
前言512345810139671211此图标表示警告或需要特别注意的内容。此图标表示提示或技巧。问题与反馈一
简单,优雅,Python的函数式编程
很不错,讲述Python函数式编程,有兴趣的朋友可以下载看看
函数式编程在Python中的用法
fn.py:在 Python 中进行函数式编程 : 实现了一些FP函数式编程缺失的功能
Python受LISP启发的函数式编程思想
本文实例讲述了Python函数式编程。分享给大家供大家参考,具体如下: 函数式编程就是一种抽象程度很高的编程范式,从计算机硬件->汇编语言->C语言->Python抽象程度越高、越贴近于计算,但执行效率也越低。纯粹的函数...
Python实验二 函数式编程实验
建立并行编程语言的特征序列分布模型,采用连续概率密度泛函分析方法构建并行编程语言特征分布函数式,通过 Python 进行函数式并行编程语言的语义分割,提取函数式并行编程语言的语义关联特征量,根据语义关联性进行...
在Python中,我们可以使用lambda表达式和高阶函数来实现函数式编程。 lambda表达式是一种匿名函数,它可以在需要时定义并传递给其他函数。例如,我们可以使用lambda表达式来定义一个简单的加法函数: add = lambda x...
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,...
Python函数式编程总结讲解Python进阶知识,包括生成器generator,迭代器iterator,匿名函数lambda,高阶函数Higher-order function,返回函数,闭包,装饰器wraps,偏函数partial function。
关于Python中进行函数式编程的Awesome东西的列表
使用Python函数式编程进行空间回归分析
Eclipse的使用 模块和模块的常用方法 函数式编程 yield 三元运算 Lambda表达式 内置函数 常用模块 装饰器 作业
使用Python函数式编程进行空间回归分析
该文档是国外的Brandon Skerritt写的python函数式编程教科书,十分钟完全可以学会,一起加油!
Python函数式编程只是借鉴函数式编程的一些特点,可以理解成一半函数式,一半Python lambda表达式 函数:最大程度服用代码 存在问题:如果函数很小,很短,则会比较啰嗦 如果函数被调用次数较少,则会造成浪费 lambda表达式...