0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python使用過程中用一行代碼實(shí)現(xiàn)過哪些激動(dòng)人心的功能呢?

lviY_AI_shequ ? 來源:CSDN博客 ? 2020-05-12 09:07 ? 次閱讀

手頭有 109 張頭部 CT 的斷層掃描圖片,我打算用這些圖片嘗試頭部的三維重建?;A(chǔ)工作之一,就是要把這些圖片數(shù)據(jù)讀出來,組織成一個(gè)三維的數(shù)據(jù)結(jié)構(gòu)(實(shí)際上是四維的,因?yàn)槊總€(gè)像素有 RGBA 四個(gè)通道)。

這個(gè)數(shù)據(jù)結(jié)構(gòu),自然是 numpy 的 ndarray 對(duì)象,讀取圖像文件我習(xí)慣使用 PIL。因此,需要導(dǎo)入兩個(gè)模塊:

1importnumpyasnp 2fromPILimportImage

接下來,我用一行代碼就把 109 張圖片讀到了一個(gè) 109x256x256x4 的 numpy 數(shù)組中,耗時(shí) 172 毫秒:

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

通常,上面這一行代碼應(yīng)該寫成這樣:

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

我把這些代碼寫成一行,卻毫無晦澀艱深之感,仍然像詩歌一樣優(yōu)美、像自然語言一樣通俗!

那一刻,我腦洞大開,很想知道 python 高手們只用一行代碼都能干些什么?當(dāng)然,限定條件是不能引用自定義的模塊,可以使用內(nèi)置模塊或通用的第三方模塊。上網(wǎng)一搜,發(fā)現(xiàn)這個(gè)問題好像是 python 的專屬問題,其他語言很難用一行代碼做點(diǎn)什么。知乎上有一篇名為《一行 Python 能實(shí)現(xiàn)什么喪心病狂的功能?》(https://www.zhihu.com/question/37046157)的帖子,其鏡像貼只有 java 的和 js 的,點(diǎn)進(jìn)去發(fā)現(xiàn),和 python 的完全不是一個(gè)概念。

整理了一下知乎上這篇文章的內(nèi)容,頗覺有趣,分享給大家。

1. 一行代碼打印乘法口訣

1print(' '.join([''.join(["%2sx%2s=%2s"%(j,i,i*j)forjinrange(1,i+1)])foriinrange(1,10)]))

2. 一行代碼打印迷宮

1print(''.join(__import__('random').choice('u2571u2572')foriinrange(50*24)))

3. 一行代碼表白愛情

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

4. 一行代碼打印小龜龜

1print(' '.join([''.join(['*'ifabs((lambdaa:lambdaz,c,n:a(a,z,c,n))(lambdas,z,c,n:zifn==0elses(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 使用過程中用一行代碼實(shí)現(xiàn)過哪些激動(dòng)人心的功能呢?歡迎留言討論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4722

    瀏覽量

    68234
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84375

原文標(biāo)題:一行Python代碼能實(shí)現(xiàn)什么喪心病狂的功能?

文章出處:【微信號(hào):AI_shequ,微信公眾號(hào):人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PurePath Console 3在使用過程中經(jīng)??ㄔ诘卿洰嬅?,為什么?怎么解決?

    PurePath Console 3在使用過程中,經(jīng)常卡在登錄畫面,如下圖所示:
    發(fā)表于 10-10 06:57

    OPA657在使用過程中如何降噪,如何提高信噪比?

    OPA657在使用過程中如何降噪,如何提高信噪比?有沒有通用的些技巧?謝謝
    發(fā)表于 08-26 07:13

    使用過程中發(fā)現(xiàn)TL084I發(fā)燙特別嚴(yán)重怎么解決?

    最近設(shè)計(jì)了塊控制系統(tǒng)pcb,在使用過程中發(fā)現(xiàn)TL084I發(fā)燙特別嚴(yán)重,用溫槍測(cè)了下,有55°,輸入輸出波形正常,±15V供電,請(qǐng)問TI工程師這種現(xiàn)象正常嗎?有沒有其他可以替代的產(chǎn)品,原先使用的款OP07沒有發(fā)現(xiàn)溫度過高問題
    發(fā)表于 08-15 07:43

    XTR111使用過程中遇到的兩個(gè)疑問求解

    XTR111使用過程中:VSP供電17.5V,IS輸出17.5V(正常工作應(yīng)該比VSP低1.4V),VG無輸出 問題1:判斷芯片正常工作的具體條件 問題2:為什么VG會(huì)沒有輸出且芯片沒有正常工作(各個(gè)引腳均沒有短路發(fā)生)
    發(fā)表于 08-12 07:46

    請(qǐng)問AFE032使用過程中沖和振鈴問題怎么解決?

    在使用AFE032發(fā)送信號(hào)的過程中,發(fā)現(xiàn)在配置TX_PGA以及PA的寄存器時(shí),均會(huì)產(chǎn)生個(gè)沖。我們使用并沒有使用AFE032的內(nèi)部DAC,但是斷開DAC以及AFE032的后級(jí)電路,開關(guān)TX_PGA以及PA均會(huì)產(chǎn)生過沖,請(qǐng)問是
    發(fā)表于 08-08 06:08

    OPA4192在使用過程中,芯片發(fā)燙是什么原因?qū)е碌模?/a>

    OPA4192在使用過程中,芯片發(fā)燙,我們的供電電壓是正負(fù)16V,是因?yàn)楣╇婋妷禾邔?dǎo)致的嘛?有這方面的數(shù)據(jù)嘛?
    發(fā)表于 08-05 07:27

    正確安裝了JRE和CubeMX,但是在使用過程中老是花屏的原因?

    CubeMX花屏問題,正確安裝了JRE和CubeMX,但是在使用過程中老是花屏
    發(fā)表于 03-20 06:08

    ADP5070使用過程中沒有任何電壓輸出是為什么?

    端電壓為2.6V,AGND通過0ohm電阻接地,但是實(shí)際使用過程中,卻沒有任何電壓輸出,各個(gè)反饋電壓也都沒有,想知道是什么原因造成的。
    發(fā)表于 01-03 10:51

    使用過程中如何降低連接器摩擦損耗

    連接器的插孔和插針在長(zhǎng)期使用過程中,端子會(huì)產(chǎn)生難以避免的摩擦損耗,我們常說的插拔壽命在定程度上指的就是耐磨損性能。用戶在使用過程中應(yīng)該如何去降低連接器的磨損,延長(zhǎng)連接器使用壽命?
    的頭像 發(fā)表于 12-13 16:46 ?490次閱讀

    在AD7656使用過程中,發(fā)現(xiàn)在0點(diǎn)附近采樣結(jié)果有突變是為什么?

    問:在AD7656使用過程中,發(fā)現(xiàn)在0點(diǎn)附近采樣結(jié)果有突變,而且信號(hào)幅度越小越明顯,詳見下圖:
    發(fā)表于 11-28 06:01

    python多行數(shù)據(jù)合并成一行

    Python中,有許多不同的方法可以將多行數(shù)據(jù)合并成一行。接下來,我將為您詳細(xì)介紹其中些方法。 方法:使用字符串連接符 最常見的方法是使用字符串連接符“+”來連接每
    的頭像 發(fā)表于 11-24 09:48 ?2373次閱讀

    python如何讓多行輸出為一行

    。但是,我們可以使用end參數(shù)將其替換為其他字符,例如空格或逗號(hào),從而實(shí)現(xiàn)多行輸出為一行。 示例代碼如下: print ( "Hello," , end = " " ) print ( "World
    的頭像 發(fā)表于 11-24 09:45 ?6773次閱讀

    python如何將多行合并成一行

    Python中,有多種方法可以將多行合并成一行。以下是詳細(xì)解釋和示例: 方法:使用字符串的replace()方法 你可以使用字符串的replace()方法來刪除換行符并將多行合并為一行
    的頭像 發(fā)表于 11-24 09:42 ?4437次閱讀

    Python怎么換行輸入另條語句

    Python中,換行輸入和輸入另條語句可以有多種方式實(shí)現(xiàn)。下面列舉了幾種常用的方法: 方法:使用反斜杠()來換行輸入 在Python
    的頭像 發(fā)表于 11-22 10:49 ?6934次閱讀

    ADL5536增益模塊在使用過程中很燙,這是什么原因?

    ADL5536 增益模塊在使用過程中很燙,這是什么原因?我是按照datasheet給的電路繪制的,VCC給的是+5V
    發(fā)表于 11-17 15:57