原标题:一行Python代码能做什么?

作者:笑虎

来源:知乎

首先你要了解一下Python之禅,一行代码输出“The Zen of Python”:

python -c "import this"

"""

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

"""

从“The Zen of Python”也能看出,Python倡导Beautiful、Explicit、Simple等原则,当然我们接下来要介绍的一行Python能实现哪些好玩的功能,可能和Explicit原则相违背。

声明:这些小例子都来源于网络(最后给出参考网址),自己抱着学习的态度整理得到(除了FizzBuzz问题,有一次面试被问到了,自己写的)。如果侵犯了作者权益,私信我我会删除掉。

如果你有其他这方面的小例子,也欢迎评论,我会加到文章中。

一行代码启动一个Web服务

python -m SimpleHTTPServer 8080 # python2

python3 -m http.server 8080 # python3

一行代码实现变量值互换

a, b = 1, 2; a, b = b, a

一行代码解决FizzBuzz问题:

FizzBuzz问题:打印数字1到100, 3的倍数打印“Fizz”, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz”

print(' '.join(["fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or str(x) for x in range(1, 101)]))

一行代码输出特定字符"Love"拼成的心形

print('n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

一行代码输出Mandelbrot图像

Mandelbrot图像:图像中的每个位置都对应于公式N=x+y*i中的一个复数

print('n'.join([''.join(['*'if abs((lambda a: lambda z, c, n: a(a, z, c, n))(lambda s, z, c, n: z if n == 0 else s(s, z*z+c, c, n-1))(0, 0.02*x+0.05j*y, 40)) < 2 else ' ' for x in range(-80, 20)]) for y in range(-20, 20)]))

一行代码打印九九乘法表

print('n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))

一行代码计算出1-100之间的素数(两个版本)

print(' '.join([str(item) for item in filter(lambda x: not [x % i for i in range(2, x) if x % i == 0], range(2, 101))]))

print(' '.join([str(item) for item in filter(lambda x: all(map(lambda p: x % p != 0, range(2, x))), range(2, 101))]))

一行代码输出斐波那契数列

print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in ([[1, 1]], ) for i in range(30)]])

一行代码实现快排算法

qsort = lambda arr: len(arr) > 1 and qsort(list(filter(lambda x: x <= arr[0], arr[1:]))) + arr[0:1] + qsort(list(filter(lambda x: x > arr[0], arr[1:]))) or arr

一行代码解决八皇后问题

[__import__('sys').stdout.write('n'.join('.' * i + 'Q' + '.' * (8-i-1) for i in vec) + "n========n") for vec in __import__('itertools').permutations(range(8)) if 8 == len(set(vec[i]+i for i in range(8))) == len(set(vec[i]-i for i in range(8)))]

一行代码实现数组的flatten功能: 将多维数组转化为一维

flatten = lambda x: [y for l in x for y in flatten(l)] if isinstance(x, list) else [x]

一行代码实现list, 有点类似与上个功能的反功能

array = lambda x: [x[i:i+3] for i in range(0, len(x), 3)]

一行代码实现求解2的1000次方的各位数之和

print(sum(map(int, str(2**1000))))

参考文章:

一行 Python 能实现什么丧心病狂的功能? - 编程

https://www.zhihu.com/question/37046157

一行python代码--CSDN博客

http://blog.csdn.net/wireless_com/article/details/52713868

大数据时代的思考和洞察

责任编辑:

python可以干嘛知乎-一行Python代码能做什么?相关推荐

  1. 一行SQL代码能做什么?

    最近在知乎上看到一个问题:一行代码可以做什么?答题者数万计,都是一些非常"高端"的操作,就在想一行SQL代码能做什么呢? SQL一行代码其实有很多很多,一些常见的比如: SELEC ...

  2. 外星人颜色python练习_在知乎上学Python爬虫

    有很多人正在入门Python爬虫,学习Python爬虫.在这个过程中,会遇到很多难题,许多小伙伴都会去寻找答案,但是因为答案的纷繁复杂和种类多样,往往要花上好些时间. 而码不理经常会在知乎上寻找学习问 ...

  3. python可以干嘛知乎-Python到底可以干什么?老男孩Python视频教程

    如果说挑选一门编程语言进行学习,你会选择哪个?当然是Python.Python是一门简单的编程语言,适合初学者学习,也是很多人都喜欢的语言,那么Python到底可以干什么?跟着老男孩教育来看看吧. P ...

  4. python收集数据程序_用一行Python代码进行数据收集探索!Python真牛逼!

    简易的Pandas之路 任何使用P ython数据的人都会熟悉Pandas包.P andas是大多数行和列格式数据的go-to包. 如果你没有Pandas,请确保在终端中使用pip install安装 ...

  5. 爬虫python可以干嘛_学了Python可以用来干什么呢?

    很多家长朋友可能会问,孩子学Python 可以用来干什么呢? 一般学Python可以往很多方面发展: 01 web应用开发 在国内,豆瓣一开始就使用Python作为web开发基础语言,知乎的整个架构也 ...

  6. 老师学python可以干嘛-你都用 Python 来做什么?

    Pyhton可以用来做金融量化投资分析.Python金融量化 探讨问题与分析思路 本文以Python为量化工具,主要探讨以下三个问题: (1)指数定投的优势与劣势在哪? (2)指数定投受哪些因素影响, ...

  7. python实现文件共享_改进的一行Python实现文件共享--支持并发

    SimpleHTTPServer是python自带的一个简单的静态HTTP服务器, python2.x下只要切换到想要共享的目录简单地输入下面的命令,就可以打开该HTTP服务器: python -m ...

  8. 扇贝编程python是干嘛的-扇贝的python课质量怎么样?

    . 扇贝编程结业感悟 我在扇贝编程Python学习完毕结业啦,有如下感悟,与大家分享. 首先肯定这是正确的选择,收获满满的,最大的收获是,明确了编程技能几大部分,以及学习的先后顺序,路径的入口在哪里, ...

  9. python中class什么意思_python-classmethod在此代码中做什么?

    y是一个包装函数的修饰器,您可以在类或(等效)其实例上调用生成的对象: >>> class x(object): ... def c1(*args): print 'c1', arg ...

最新文章

  1. Lucene的简单应用
  2. Python中if __name__ == ‘__main__‘:的作用和原理(自用笔记)
  3. HTML5中的websocket实现直播
  4. ORACLE+RAC+ASM环境下添加redo日志组
  5. 牛客多校6 - Binary Vector(组合数学+推公式)
  6. 洛谷 P2765 魔术球问题 (dinic求最大流,最小边覆盖)
  7. nuxt2中使用less
  8. re.containerbase.startinternal 子容器启动失败_微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)...
  9. 带有行数和标尺的RichTextBox
  10. spring aop中使用@Pointcut注解抽取可重用的切入点表达式
  11. Java的I/O总结
  12. 电子工程师元器件应用必备宝典
  13. css中flex设置为1是什么意思
  14. python筛选出csv满足某条件的行_Python之根据条件筛选特定行
  15. 机器纪元中文字幕(Automata.2014.720p.WEB-DL.DD5.1.H264-RARBG.srt)
  16. RSTP配置_思科模拟器
  17. 笔记本式计算机处理器,问答:笔记本电脑如何选择处理器
  18. java多线程---重入锁ReentrantLock
  19. 形式语言与自动机理论的发展
  20. 【JavaScript 基础】-- 数组切割splice和slice

热门文章

  1. 开发日记-20190808 随便聊聊
  2. Kotlin学习 PART 2:kotlin基础
  3. 利用被入侵的路由器迈入内网——抓包,利用路由器漏洞入侵,进行流量劫持...
  4. Spark MLlib介绍
  5. docker hub下载慢解决方法 使用daocloud的mirror
  6. mysql 视图 临时表模式
  7. bfs迷宫寻路问题(一看就懂的讲解)
  8. PTA L1_002 打印沙漏(C语言)
  9. blfs(systemv版本)学习笔记-使用apache创建简单的网页服务器
  10. 十步完全理解 SQL