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

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

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

如何快速學(xué)會(huì)的漂亮短代碼

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-11-02 16:34 ? 次閱讀

1.數(shù)組再分組

對(duì)一個(gè)列表根據(jù)所需要的大小進(jìn)行細(xì)分:

圖片

效果如下:

  1. EXAMPLES

  2. chunk([1,2,3,4,5],2)# [[1,2],[3,4],5]

return中,map的第二個(gè)參數(shù)是一個(gè)列表,map會(huì)將列表中的每一個(gè)元素用于調(diào)用第一個(gè)參數(shù)的 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。

2.數(shù)字轉(zhuǎn)數(shù)組

同樣是一則關(guān)于map的應(yīng)用,將整形數(shù)字拆分到數(shù)組中:

  1. def digitize(n):

  2. return list(map(int, str(n)))

效果如下:

  1. EXAMPLES

  2. digitize(123)# [1, 2, 3]

它將整形數(shù)字n轉(zhuǎn)化為字符串后,還自動(dòng)對(duì)該字符串進(jìn)行了序列化分割,最后將元素應(yīng)用到map的第一個(gè)參數(shù)中,轉(zhuǎn)化為整形后返回。

3.非遞歸斐波那契

還記得菲波那切數(shù)列嗎,前兩個(gè)數(shù)的和為第三個(gè)數(shù)的值,如0、1、1、2、3、5、8、13....

如果使用遞歸來(lái)實(shí)現(xiàn)這個(gè)算法,效率非常低下,我們使用非遞歸的方式實(shí)現(xiàn):

圖片

效果如下:

  1. EXAMPLES

  2. fibonacci(7)# [0, 1, 1, 2, 3, 5, 8, 13]

這樣看是很簡(jiǎn)單,但是思維要繞的過(guò)來(lái)哦。

4.下劃線化字符串

批量統(tǒng)一變量名稱或者字符串格式。

圖片

效果如下:

  1. EXAMPLES

  2. snake('camelCase')# 'camel_case'

  3. snake('some text')# 'some_text'

  4. snake('some-mixed_string With spaces_underscores-and-hyphens')# 'some_mixed_string_with_spaces_underscores_and_hyphens'

  5. snake('AllThe-small Things')# "all_the_small_things"

re.sub用于替換字符串中的匹配項(xiàng)。這里其實(shí)是一個(gè)“套娃”用法,一開始可能不太好理解,需要慢慢理解。

第一個(gè)替換 ,是將s字符串中,使用' '替換'-'。

第二個(gè)替換 ,是針對(duì)第一個(gè)替換后的字符串,對(duì)符合'([A-Z]+)'正則表達(dá)式的字符區(qū)段(全大寫的單詞)用r' 1'替換,也就是用空格區(qū)分開每一個(gè)單詞。

第三個(gè)替換 ,是對(duì)第二個(gè)替換后的字符串,對(duì)符合'([A-Z][a-z]+)'正則表達(dá)式的字符區(qū)段(也就是首字母大寫,其他字母小寫的詞語(yǔ))用r' 1'替換,也是將單詞用空格分隔開。

聲明:本文內(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)投訴
  • 參數(shù)
    +關(guān)注

    關(guān)注

    11

    文章

    1661

    瀏覽量

    31884
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61971
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67771
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    411

    瀏覽量

    25824
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問有快速學(xué)會(huì)單片機(jī)編程的方法嗎?

    請(qǐng)高手指點(diǎn)一下如何快速學(xué)會(huì)單片機(jī)的變成,謝謝!
    發(fā)表于 08-26 23:42

    零基礎(chǔ),如何快速學(xué)會(huì)PCB設(shè)計(jì)?

    零基礎(chǔ),如何快速學(xué)會(huì)PCB設(shè)計(jì)?
    發(fā)表于 08-15 20:45

    如何快速學(xué)會(huì)AD?

    最近看完了AD視頻教程,怎么感覺一點(diǎn)都沒用呢?求教大家,如何才能快速入手AD,學(xué)會(huì)畫板子?(是不是方法有問題,感覺學(xué)的很迷茫啊?。?/div>
    發(fā)表于 08-15 09:36

    快速學(xué)會(huì)用python寫游戲

    10分鐘學(xué)會(huì)用python寫游戲!Python其實(shí)很簡(jiǎn)單!
    發(fā)表于 07-01 15:24

    如何快速學(xué)會(huì)單片機(jī)編程并應(yīng)用? 精選資料分享

    如何快速學(xué)會(huì)單片機(jī)編程并應(yīng)用?先上一些參考資料,主要來(lái)源知乎:1 -怎樣學(xué)會(huì)單片機(jī)?-2 -arduino、arm、樹莓派、單片機(jī)四者有什么不同?-3 -單片機(jī)可以替代PLC么?-4 -單片機(jī)有沒有
    發(fā)表于 07-21 07:19

    如何快速學(xué)會(huì)單片機(jī)呢

    怎么去學(xué)習(xí)單片機(jī)?如何快速學(xué)會(huì)單片機(jī)呢?
    發(fā)表于 10-14 09:36

    教你如何制作漂亮且專業(yè)的程序文檔

    1、教你如何制作漂亮且專業(yè)的程序文檔  你是不是也看過(guò)很多說(shuō)明文檔,比如下面這樣的關(guān)于STM32標(biāo)準(zhǔn)外設(shè)驅(qū)動(dòng)文檔。你有沒有想象過(guò)自己的代碼也是可以這樣打包成這樣一個(gè)非常漂亮的文檔的?原作者:智果芯
    發(fā)表于 10-10 17:44

    快速編輯源代碼

    快速編輯源代碼 實(shí)驗(yàn)要求:通過(guò)實(shí)驗(yàn),了解網(wǎng)頁(yè)源代碼編寫結(jié)構(gòu)機(jī)利用Dreamweaver查看網(wǎng)頁(yè)自動(dòng)生成的源代碼,掌握HTML的常用標(biāo)記及對(duì)網(wǎng)頁(yè)中的
    發(fā)表于 02-10 15:00 ?10次下載

    數(shù)控連續(xù)區(qū)域軌跡代碼加減速處理算法研究

    數(shù)控連續(xù)區(qū)域軌跡代碼加減速處理算法研究。
    發(fā)表于 05-03 09:38 ?27次下載

    如何快速學(xué)會(huì)PLC編程

    PLC編程可以很快學(xué)會(huì)。想學(xué)會(huì)PLC的心情是可以理解的.
    的頭像 發(fā)表于 09-07 10:06 ?9764次閱讀
    如何<b class='flag-5'>快速</b><b class='flag-5'>學(xué)會(huì)</b>PLC編程

    小白也能快速學(xué)會(huì)的Micropython編譯指南

    小白也能快速學(xué)會(huì)的Micropython編譯指南
    發(fā)表于 11-30 16:21 ?16次下載
    小白也能<b class='flag-5'>快速</b><b class='flag-5'>學(xué)會(huì)</b>的Micropython編譯指南

    干貨|教你使用Doxygen制作出漂亮程序文檔

    摘要:不知道大家有沒有把自己的代碼整理成文檔的習(xí)慣,有沒有給自己的代碼一個(gè)非常漂亮的注釋,就像下圖這樣。
    發(fā)表于 01-25 16:01 ?1次下載
    干貨|教你使用Doxygen制作出<b class='flag-5'>漂亮</b>程序文檔

    學(xué)會(huì)這種方法,快速解決煤粉集塵器堵漏問題

    學(xué)會(huì)這種方法,快速解決煤粉集塵器堵漏問題
    發(fā)表于 06-22 16:12 ?0次下載

    如何快速學(xué)會(huì)模電

    如何快速學(xué)會(huì)模電 模擬電子技術(shù) (模電) 是現(xiàn)代電子技術(shù)的基礎(chǔ)之一。 它主要強(qiáng)調(diào)基礎(chǔ)電路和電子元器件的理論及其應(yīng)用,這對(duì)于電子行業(yè)的初學(xué)者來(lái)說(shuō)是必要的。 學(xué)好模電將為您未來(lái)的電子工作奠定基礎(chǔ)。 下面
    的頭像 發(fā)表于 08-27 15:48 ?2117次閱讀

    快速學(xué)會(huì) OrCAD Capture CIS

    電子發(fā)燒友網(wǎng)站提供《快速學(xué)會(huì) OrCAD Capture CIS .pdf》資料免費(fèi)下載
    發(fā)表于 02-29 09:27 ?13次下載