c++代码表白_一行 Python 代码能实现什么丧心病狂的功能? | CSDN博文精选
作者 |?許文武
責編 | 郭芮
出品 | 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博文精选的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux修改mysql配置文件_Lin
- 下一篇: 64位java_一文详解 Java 的八