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

8809f7b25348d72a9d468268b110a8ac.png

作者 |  天元浪子

来源 | CSDN博客

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

6a2357dbf3c81084e593d0bdb9300775.png

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

1import numpy as np2from 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)]))

992e3f7b1a8dedacbc6acf1b972400e3.png

2. 一行代码打印迷宫

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

be0b0c0a31efb0d04ab5bc86ccd12517.png

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(-30, 30)]) for y in range(30, -30, -1)]))

d6cbb96e4655323612885887212561f1.png

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

8d66e98b2ad005d4b52f8199ee15f9c3.png

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

原文:

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

4635606b8944fd1f5e01247c0175865f.png

精彩推荐

“只讲技术,拒绝空谈!”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。目前,大会早鸟票抢购中~扫码购票,领先一步!

950d2f9512b0701f8b633f5233faf665.png

推荐阅读:

  • 干货 | Python后台开发的高并发场景优化解决方案

  • 2019年最新华为、BAT、美团、头条、滴滴面试题目及答案汇总

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

  • 200行代码实现一个滑动验证码

  • 如何用Python实现文本摘要模型(附教程)

  • 爬虫到底违法吗?这位爬虫工程师给出了答案

  • 收藏!本、硕、博、程序员必备神器

  • 阿里巴巴杨群:高并发场景下Python的性能挑战

  • Python从入门到精通,这篇文章为你列出了25个关键技术点(附代码)

f427db9dce109c796b4e22a1e0f36daf.png 你点的每个“在看”,我都认真当成了喜欢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值