震惊小伙伴的单行代码(Python篇)
admin
2023-07-31 00:45:17
0

几年前,函数式编程的复兴正值巅峰,一篇介绍 Scala 中 10 个单行函数式代码的博文在网上走红。很快地,一系列使用其他语言实现这些单行代码的文章也随之出现,比如 Haskell, Ruby, Groovy, Clojure, Python, C#, F#, CoffeeScript。

每篇文章都令人印象深刻的揭示了这些语言中一些出色优秀的编程特征。编程高手们利用这些技巧提高编程速度、改进软件质量,编程初学者能从这些简洁的预防中学到各种编程语言的真谛。本《震惊小伙伴的单行代码系列》将逐一介绍这些各种编程语言单行代码文章,供大家学习参考。

1、让列表中的每个元素都乘以2

1 print map(lambda x: x * 2, range(1,11))

2、求列表中的所有元素之和

1 print sum(range(1,1001))

3、判断一个字符串中是否存在某些词

1234 wordlist = [\”scala\”, \”akka\”, \”play framework\”, \”sbt\”, \”typesafe\”]tweet = \”This is an example tweet talking about scala and sbt.\” print map(lambda x: x in tweet.split(),wordlist)

4、读取文件

1 print open(\”ten_one_liners.py\”).readlines()

5、祝你生日快乐!

1 print map(lambda x: \”Happy Birthday to \” + (\”you\” if x != 2 else \”dear Name\”),range(4))

6. 过滤列表中的数值

1 print reduce(lambda(a,b),c: (a+[c],b) if c > 60 else (a,b + [c]), [49, 58, 76, 82, 88, 90],([],[]))

7. 获取XML web service数据并分析

1234 from xml.dom.minidom import parse, parseStringimport urllib2# 注意,我将它转换成XML格式化并打印出来print parse(urllib2.urlopen(\”http://search.twitter.com/search.atom?&q=python\”)).toprettyxml(encoding=\”utf-8\”)

8. 找到列表中最小或最大的一个数字

12 print min([14, 35, 7, 46, 98])print max([14, 35, 7, 46, 98])

9. 并行处理

1234 import multiprocessingimport math print list(multiprocessing.Pool(processes=4).map(math.exp,range(1,11)))

10. “Sieve of Eratosthenes”算法

Python里没有Sieve of Eratosthenes操作符,但这对于Python来说并不是难事。

123 n = 50 # We want to find prime numbers between 2 and 50 print sorted(set(range(2,n+1)).difference(set((p * f) for p in range(2,int(n**0.5) + 2) for f in range(2,(n/p)+1))))


相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...