当前位置: 首页 > 编程日记 > 正文

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

640?wx_fmt=png


作者 |  天元浪子

来源 | CSDN博客


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


640?wx_fmt=png


这个数据结构,自然是 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)]))'\n'.join([' '.join(["%2s x%2s = %2s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))

640?wx_fmt=png


2. 一行代码打印迷宫


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

640?wx_fmt=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(-3030)]) for y in range(30-30-1)]))

640?wx_fmt=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)]))

640?wx_fmt=png

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


原文链接:

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


(*本文为 AI科技大本营转载文章,转载请联系原作者


精彩推荐



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


640?wx_fmt=png

推荐阅读

  • 阿里达摩院做AI这两

  • 性能比GPU高100倍!华人教授研发全球首个可编程忆阻器AI计算

  • 豪投10亿!华为放话:3年培养100万AI人才!网友神回应了

  • 《长安十二时辰》教了哪些算法知识?

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

  • 谷歌停止中国版搜索引擎;李楠宣布离职魅族;微软用 Rust 替代 C/C++ | 极客头条

  • 首批8款5G手机获3C认证:华为占4款;IBM获AT&T“几十亿美元”云计算合同;马库斯:未来薪酬将以Libra发放

  • 用50年前NASA送阿波罗上天的计算机挖矿什么体验? 出一个块要10^18年……

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

Windows7 32位机上,OpenCV中配置GPU操作步骤

1、 查看本机配置&#xff0c;查看显卡类型是否支持NVIDIA GPU&#xff0c;本机显卡为NVIDIA GeForce 8400 GS&#xff1b; 2、 从http://www.nvidia.cn/Download/index.aspx?langcn下载最新驱动并安装&#xff1b; 3、 从https://developer.nvidia.com/cuda-toolkit根据…

【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

这是我悲惨的接近爆零的一次考试&#xff0c;但是本蒟蒻不能放弃&#xff0c;还是要总结的QAQ 答题卡 【题目背景】 八月是个悲惨的月份。先不谈炎热的天气&#xff0c;对于新生来说&#xff0c;八月意味着军训&#xff1b; 而对于高二高三的同学来说&#xff0c;八月意味着开学…

RememberMe 功能的实现(base-auth使用说明)

2019独角兽企业重金招聘Python工程师标准>>> 日常记录&#xff0c;代码是根据SpringSecurity写的。 ###写个Entity类实现UserDetails <!-- lang: java --> package com.lqz.b2c.base.web.controller.member.support;import com.lqz.b2c.base.entity.Passport;…

AutoML前沿技术与实践经验分享 | 免费公开课

传统机器学习的解决范式可表示为&#xff1a;ML Solution ML expertise Computation Data新机器学习范式可表示为&#xff1a;New ML Solution 100x Computation 100x Data通过表示的变化&#xff0c;可以看出&#xff0c;传统范式的“ML expertise”被“100x”的“Comput…

Windows 7 64位机上搭建Android开发环境

1、从http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载Java JDK&#xff0c;根据机子本身配置&#xff0c;选择jdk-7u25-windows-x64.exe下载&#xff0c;将其安装到D:\ProgramFiles\Java\jdk1.7.0_25文件夹下&#xff0c;并将D:\Pro…

近4万Star,登月源码登顶GitHub,这位女程序员“拯救”了阿波罗

作者 | 伍杏玲转载自CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;1969 年 7 月 20 日&#xff0c;“阿波罗 11 号”飞船登月&#xff0c;宇航员尼尔阿姆斯特朗&#xff08;Neil Armstrong&#xff09;成功踏上月球表面&#xff0c;标志着人类第一次踏上月球&#xff0c…

Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

1、 先按照http://blog.csdn.net/fengbingchun/article/details/10439281中操作搭建好基本的Android开发环境&#xff1b; 2、 打开Eclipse&#xff0c;-->Window-->AndroidVirtual Device Manager-->New-->AVD Name:Android_OpenGLES, Device:GalaxyNexus(4.65…

animate默认时长所带来的问题及解决

一、需求描述 做一个进度条长度逐渐减少的动画&#xff0c;当进度条长度小于等于0时&#xff0c;关闭动画&#xff0c;并弹出透明底板显示新提示。 二、问题描述 初始代码如下&#xff1a; //设置进度条初始长度 var progressLength 180; //设置一个定时器 var timer …

避坑指南:如何选择适当的预测评价指标?| 程序员评测

作者 | Nicolas Vandeput译者 | Tianyu责编 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】因为不存在一个适用于所有情况的评价指标&#xff0c;所以评估预测精度&#xff08;或误差&#xff09;就变成了一件不是那么容易的事情。只有通过…

利用JNI技术在Android中调用C++代码

JNI是Java Native Interface的简称&#xff0c;也就是Java本地接口&#xff0c;它提供了若干的API实现Java和其它语言的通信(主要是C&C)。 1、打开Eclipse&#xff0c;File-->New-->Project…-->AndroidApplication Project-->Application Name:TestJNI,Packag…

微软开源数据处理引擎 Trill,每天可分析万亿次事件

微软近日开源了数据处理引擎 Trill&#xff0c;它每天能够分析万亿次事件。项目地址&#xff1a;https://github.com/Microsoft/trill当下每毫秒处理大量数据正成为一种常见的业务需求&#xff0c;此次微软开源的 Trill&#xff0c;据说每秒能够处理高达数十亿事件&#xff0c;…

【杭电ACM】1097 A hard puzzle

【杭电ACM】1097 A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid1097 先用int手写了算法结果竟然wrong answer&#xff0c;估计是测试数据很大&#xff0c;直接上BigInteger 和modPow()&#xff0c;轻松解决。 1 //author:pz2 3 import java.math.BigInteger;4 im…

mvc 下的 signalR使用小结

2019独角兽企业重金招聘Python工程师标准>>> sirnal下有两种使用。 一种是 Persistent Connection &#xff0c;另外一种是Hubs 。详细请看 https://github.com/SignalR/SignalR/wiki &#xff1b; hubs支持浏览器与客户端互相调用方法。所以应用更广泛。 在前台…

利用JNI技术在Android中调用C++形式的OpenGL ES 2.0函数

1、 打开Eclipse&#xff0c;File-->New-->Project…-->Android-->AndroidApplication Project,Next-->Application Name:FillTriangle, PackageName:com.filltriangle.android,Minimum Required SDK:API 10Android2.3.3(Gingerbread),Next--&g…

Python三十年技术演变史

作者 | 宋天龙&#xff0c;大数据技术专家&#xff0c;触脉咨询合伙人兼副总裁&#xff0c;前Webtrekk中国区技术和咨询负责人&#xff08;Webtrekk&#xff0c;德国的在线数据分析服务提供商&#xff09;。擅长数据挖掘、建模、分析与运营&#xff0c;精通端到端数据价值场景设…

php 扩展包链接

https://pecl.php.net/package-stats.php?cid7转载于:https://www.cnblogs.com/gaoyuechen/p/10148754.html

面向中小企业的视频云服务 视频托管

2019独角兽企业重金招聘Python工程师标准>>> 面向中小企业的视频云服务解决方案 如果你是一个传统的企业网站&#xff0c;想要在网站首页加入一段视频&#xff0c;或者是一个垂直资讯网站想要开设视频频道&#xff0c;又或者想要进行一项活动的在线直播。这时候也许…

VS2010下编译OpenCV2.4.6静态库

1、 从 http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/ 下载最新的OpenCV2.4.6&#xff1b; 2、 将OpenCV-2.4.6.0.exe存放到D:\Soft\OpenCV2.4.6文件夹下&#xff0c;解压到当前文件夹下&#xff0c;生成一个opencv文件夹&#xff1b; 3、 下…

【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战

一、写在前面 相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构&#xff0c;毕竟现在这是非常火的一门技术。 如果只是用户量很少的传统IT系统&#xff0c;使用Spring Cloud可能还暴露不出什么问题。 如果是较多用户量&#xff0c;高峰每秒高达上万并发请求的互联…

共话数据智能新经济,首届市北·GMIS 2019全球数据智能峰会隆重召开

7月19日&#xff0c;上海市市北高新技术服务业园区&#xff08;以下简称“市北高新”&#xff09;成功举办首届「市北GMIS 2019全球数据智能峰会」&#xff08;以下简称“市北GMIS峰会”&#xff09;。为期两天的市北GMIS峰会以“拥抱数智经济&#xff0c;赋能产业生态”为主题…

最新剑桥《AI全景报告》出炉:中国发表机器学习学术研究超过美国

来源 | 转载自新智元&#xff08;ID:AI_era&#xff09;2019年即将过去一半&#xff0c;剑桥大学的两位研究人员近日推出了本年度的State AI 2019全景报告。本报告基本沿袭去年的大体框架&#xff0c;从产业、人才、政策、预测等方面对过去一年来AI领域的技术的新进步、产业格局…

《OpenMP编译原理及实现技术》摘录

内容摘自《OpenMP编译原理及实现技术》第2章 代码测试环境&#xff1a;Windows7 64bit, VS2010, 4核机。 可以说OpenMP制导指令将C语言扩展为一个并行语言&#xff0c;但OpenMP本身不是一种独立的并行语言&#xff0c;而是为多处理器上编写并行程序而设计的、指导共享内存、多…

C# 36进制转10进制

代码是Java转过来的&#xff0c;变量名都没有改……有空再整理一下好了。public long toDecimal(string input, long bs){try{long Bigtemp 0, temp 1;int len input.Length;for (int i len - 1; i > 0; i--){if (i ! len - 1)temp * bs;long num changeDec(input[i]);…

Oracle Cloud Native Framework推出云原生解决方案

摘要&#xff1a;Oracle Cloud Native Framework云原生平台提供托管云服务和本地软件&#xff0c;同时在现Oracle云基础架构上跨应用程序配置和分析大量服务。developer relations for Oracle Cloud Infrastructure副总裁Bob Quillin讨论了该框架的优势以及对2019年云原生市场的…

OpenMP知识点汇总

1. OpenMP(Open Multi-Processing)官网&#xff1a;http://openmp.org/wp/ 2. OpenMP最新版本4.0&#xff0c;2013年7月发布。Visual Studio 2010内置支持OpenMP2.0&#xff0c;选中工程属性->C/C->Language->Open MP Support:选中Yes(/openmp)即可&#xff0c;然后在…

chsop 兼容jquery(解决与transport.js冲突)

2019独角兽企业重金招聘Python工程师标准>>> $(function() { window.__Object_toJSONString Object.prototype.toJSONString; delete Object.prototype.toJSONString; }); 要用到jquery的页面放入此代码即可 转载于:https://my.oschina.net/netmouse/blog/1241…

进程详细剖析(二)

摘自《C多核高级编程》 5.6.3 进程状态 在进程执行期间&#xff0c;它的状态会发生改变。进程的状态时指进程的当前状况。在POSIX兼容的环境中&#xff0c;进程可以处于以下状态&#xff1a; 1&#xff09;运行&#xff08;running&#xff09; 2&#xff09;就绪(runnable, r…

AI算力需求6年增长30万倍,「超异构计算」才能满足下一个10年

今年 3 月&#xff0c;「强化学习教父」Richard Sutton 在《苦涩的教训》一文中指出&#xff0c;「70 年的人工智能研究史告诉我们&#xff0c;利用计算能力的一般方法最终是最有效的方法。要在短期内有所提升&#xff0c;研究人员要利用专门领域的人类知识。但如果想要长期的获…

一览六月最热的5篇AI技术论文

作者 | 神经小姐姐转载自HyperAI超神经&#xff08;ID: HyperAI&#xff09;导语&#xff1a;始建于 1991 年的 arXiv.org 至今已收录超过 100 万篇论文预印本&#xff0c;近年来&#xff0c;其每月提交量已经超过 1 万篇。这里成为一个巨大的学习宝库。本文罗列了 arXiv.org 上…

OnCheckedChanged的触发需要AutoPostBack=true

OnCheckedChanged的触发需要AutoPostBack"true"