全国咨询/投诉热线:400-618-4000

10条震惊小伙伴们的Python单行代码

更新时间:2017年12月26日15时25分 来源:传智播客 浏览次数:

Python是一门拥有出色优秀的编程特征的函数式编程语言,编程高手们利用这些技巧提高编程速度,改进软件质量。而编程初学者也能从这些简洁的语法中学到这门编程语言的真谛。下面给大家介绍10个Python的单行函数式代码,希望大家有所收获:

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

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

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

print sum(range(1,1001))

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

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、读取文件

print open("ten_one_liners.py").readlines()

5、《祝你生日快乐!》歌

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

6. 过滤列表中的数值

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数据并分析

from xml.dom.minidom import parse, parseString

import urllib2

# 注意,我将它转换成XML格式化并打印出来

print parse(urllib2.urlopen("http://search.twitter.com/search.atom?&q=python")).toprettyxml(encoding="utf-8")

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

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

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

9. 并行处理

import multiprocessing

import math

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

10. “Sieve of Eratosthenes”算法

埃拉托斯特尼筛法,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。

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

n = 50 #表示统计出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))))

本文版权归传智播客人工智能+Python学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客人工智能+Python学院

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额