社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

一行Python代码能实现什么丧心病狂的功能?

Python网络爬虫与数据挖掘 • 5 年前 • 373 次点击  

作者 |  天元浪子

来源 | CSDN博客


手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道)。



这个数据结构,自然是 numpy 的 ndarray 对象,读取图像文件我习惯使用 PIL。因此,需要导入两个模块:


1import numpy as np
2from PIL import Image


接下来,我用一行代码就把 109 张图片读到了一个 109x256x256x4 的 numpy 数组中,耗时 172 毫秒:


1data = np.stack([np.array(Image.open('head%d.png'%i)) for i in range(109)], axis=0)


通常,上面这一行代码应该写成这样:


1data = list()
2for i in range(109):
3img = Image.open('head%d.png'%i)
4img = np.array(img)
5data.append(img)
6data = np.stack(data, axis=0)


我把这些代码写成一行,却毫无晦涩艰深之感,仍然像诗歌一样优美、像自然语言一样通俗!


那一刻,我脑洞大开,很想知道 python 高手们只用一行代码都能干些什么?当然,限定条件是不能引用自定义的模块,可以使用内置模块或通用的第三方模块。上网一搜,发现这个问题好像是 python 的专属问题,其他语言很难用一行代码做点什么。知乎上有一篇名为《一行 Python 能实现什么丧心病狂的功能?》(https://www.zhihu.com/question/37046157)的帖子,其镜像贴只有 java 的和 js 的,点进去发现,和 python 的完全不是一个概念。


整理了一下知乎上这篇文章的内容,颇觉有趣,分享给大家。


1. 一行代码打印乘法口诀


1print('\n'.join([' '.join(["%2s x%2s = %2s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))


2. 一行代码打印迷宫


1print(''.join(__import__('random').choice('\u2571\u2572'for i in range(50*24)))


3. 一行代码表白爱情


1print('\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 <= 0else' 'for x in range(-3030)]) for y in range(30-30-1)]))

4. 一行代码打印小龟龟


1print('\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)]))

你在 Python 使用过程中用一行代码实现过哪些激动人心的功能呢?欢迎留言讨论。


原文:

https://blog.csdn.net/xufive/article/details/96475103


看完这里有收获?请转发分享给更多人
学习Python就关注:Datanami


近期文章:

这50道面试题,问到你怀疑人生!

程序员常用资源工具集合(建议收藏)

黑客教程,一行python命令让手机读取电脑文件

8 个 Python 高效数据分析的技巧

14张思维导图,教你建立Python核心知识体系!


点「在看」的人都变好看了哦!
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48257
 
373 次点击