作者 | 许文武

责编 | 郭芮

出品 | CSDN 博客

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

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

import numpy as npfrom PIL import Image

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

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

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

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

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

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

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

一行代码打印乘法口诀

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

 一行代码打印迷宫

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

一行代码表白爱情

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

一行代码打印小龟龟

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)]))

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

作者:许文武,博客昵称「天元浪子」,本文首发于作者CSDN博客https://blog.csdn.net/xufive/article/details/96475103。

【End】

 热 文 推 荐 

☞全球 JavaScript 开发者薪酬揭晓,你拖后腿了吗?

☞性能比 GPU 高 100 倍!首款可编程忆阻器 AI 计算机面世

☞中国第一程序员传

☞抢饭碗?这位 05 后开发三款小程序!

☞非科班出身程序员,如何超越科班程序员?

☞344亿天价罚单也救不了Libra!

☞面试官问我:你们的数据库是怎么架构的?

☞10分钟学会用Pandas做多层级索引

☞江湖又现中科大少年班的传说

☞中国第一程序员,微软得不到他就要毁了他!

你点的每个“在看”,我都认真当成了喜欢

c++代码表白_一行 Python 代码能实现什么丧心病狂的功能? | CSDN博文精选相关推荐

  1. c++代码好玩_一行Python代码能干嘛?快来看看吧!有表白利器哦

    python有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手.而前几天的编程语言榜单中python也超越了java成为了第一,挺替python开心的.pyth ...

  2. 使用python代码表白_用Python代码花式表白小姐姐,她会不会生气啊

    对于程序员来说,情人节表白当然少不了代码打辅助.小笨聪这次给大家带来两份不同的表白代码(Python版),原理都很基础,第一份主要用到pygame库,第二份主要用到turtle库[附:小笨聪的运行环境 ...

  3. python join函数_一行 Python 代码能实现这么多丧心病狂的功能?

    最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>(https://www.zhihu.com/question/37046157)的帖子,点进去发现一行Python ...

  4. 用python编写一个求偶数阶乘的函数_一行Python代码写阶乘函数

    原标题:一行Python代码写阶乘函数 背景 我以前用Dart写过一行的阶乘函数: fact(double n) => n < 0 ? throw ('n must be bigger t ...

  5. 一行python代码能实现的功能_一行 Python 代码能实现这么多丧心病狂的功能?

    导读:最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>的帖子,点进去发现一行Python代码可以做这么多丧心病狂的功能! 整理了一下知乎上这篇文章的内容,颇觉有趣, ...

  6. python用一行代码编写一个回声程序_一行python代码实现树结构

    树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...

  7. 一行python代码值多少钱_一行python代码

    Life is short, just use Python. 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl 和Shell编程,因为python 的优雅么? 不全是 ...

  8. python怎么返回上一行代码_一行Python代码能做出哪些神器的事情

    原标题:一行Python代码能做出哪些神器的事情 (1)一行代码启动一个Web服务 python -m SimpleHTTPServer 8080 # python2 python3 -m http. ...

  9. python代码库能干什么_一行Python代码能做什么?

    很典型的文章,基本可以展示Python代码到底有多黑魔法.虽然文中有些案例连我都觉得走火入魔,但真的很值得一看... 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl ...

最新文章

  1. 基于视觉的在线地图:一种Transformer网络方法
  2. jiebaR中文分词,从入门到喜欢
  3. python工具包_python 工具包
  4. 漫画:什么是HashMap?
  5. Python:eval的妙用和滥用
  6. c语言博客作业03-函数
  7. HTTP 404 - 未找到文件 怎么样解决
  8. React:AntDesign引入简介
  9. Android iso文件打开,安卓手机iso文件用什么打开?
  10. Kernel:里的某某某;xxx
  11. 芯片加密与解密技术方法
  12. Halcon算子说明
  13. YUV和RGB的区别(以及YUV444 YUV422 YUV411 YUV420的介绍)
  14. python-自动化运维、办公、爬虫和娱乐
  15. 视频分类Video-Swin-Transformer
  16. android查询设置默认应用
  17. 雨听|获取微信公众号推送文章封面图片
  18. scheduler Unhealthy Get “http://127.0.0.1:10251/healthz“: dial tcp 127.0.0.1:10251: connect: connec
  19. 修改elementui的表格合并行和表格表头边框
  20. java调用移动api 发送短信验证码

热门文章

  1. yii2设置session时间_关于 Swoft 2.0 版本用 Redis 存储 session 时配置问题
  2. 计算机网络-基本概念(5)【网络层】-IP多播
  3. jena dataset 增删改查
  4. 批量处理文件,除了 Python,不妨试试 VIM!
  5. 文末福利 | Python3 网络爬虫:老板,需要特殊服务吗?
  6. c #include如何找到文件_如何用C编写自己的头文件?
  7. 上传数据时 ajax请求成功 上传完成,ajaxSubmit请求返回数据成功,但是不执行success回调函数...
  8. 兰州理工大学c语言试题答案,兰州理工大学c语言题库81058116.doc
  9. delphi tdxdbgrid 导出 excel_9个免费的Excel图表工具,1键即可做出高大上图表,月薪3万没问题...
  10. linux 操作mysql 数据库命令_在Linux上用命令怎么连接数据库