」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 列表理解和Regae

列表理解和Regae

發佈於2024-11-08
瀏覽:399

List Comprehension and Regae

啊。我一直害怕的那一刻。

第一篇文章,包含我自己的想法、觀點和可能的知識細分。

請注意,親愛的讀者,這並不是對 Python 單行 for 循環、追加到列表和返回一些數據的能力的深入探討或令人難以置信的分解。不,不。這只是展示瞭如何有趣——以及如何愚蠢——小東西可以組合在一起,讓一些東西變得更愚蠢……是的……但也很整潔。

那麼,讓我們點燃這個垃圾箱吧!萬歲!


一個故事:

在我年輕的時候,在夏令營工作,在一個著名的嬉皮風格的島嶼上學習年輕的方式......我聽到了一首歌。夥計,是不是很吸引人。雖然不是賈斯汀·比伯的朗朗上口,但仍然朗朗上口。一首我從來不知道的歌曲會對我如何開始學習編寫程式碼產生重大影響。一首名為... 「傳遞荷蘭人。」

現在,您可能會想,「雷鬼歌曲與程式設計到底有什麼關係?」請大家豎起耳朵。


透過 Dutchie...清單理解風格:

如果你像我一樣,列表推導式可能看起來像一些魔法科學、一句台詞,應該「簡化」一切。那種甜蜜、甜美的「Pythonic」方式。但相反,它讓我感覺我的大腦齒輪有點停止運轉(你曾經靠在顯示器上瞇著眼睛嗎? - 是的......完全正確)。

這就好像我被要求將一些神秘的、神奇的“dutchie”(咳嗽..變量..咳嗽)傳遞到左側,但我不知道我傳遞的是什麼,它要去哪裡,或者為什麼它很重要。 (好吧,我做到了,但為了故事的緣故......)

讓我分解一下:列表推導式都是關於傳遞事物,就像歌曲中一樣。這是一種過濾和轉換列表的方法,所有這些都在一個整齊的行中。你應該看看我寫的一些可怕的編碼只是為了“嘿看,我把它塞進了一行代碼!格蘭芬多加分!”我確信你們中的大多數人'一切都可以涉及,(我真的更喜歡多行程式碼,你知道...可讀性)。

為什麼列表推導式很重要: 列表推導式不使用多行循環和append()方法,而是允許您用更少的行編寫簡潔、可讀的程式碼。它們通常也更快,這使得它們成為 Python 開發人員在處理清單時最喜歡的工具。


所以...對於我們這些可能會或可能不會或可能會的人(哇,自動更正讓我在那裡瘋狂地騎行),我給你我的大腦的解決方案來理解最基本的列表理解:

left_hand_side = ['dutchie', 'pon the left hand side']

def catchyReggaeFunction(lyrics):
    where_the_dutchie_is_passed_to = [
        f"pass the {pon_the} pon the left hand side" for pon_the in lyrics if pon_the == 'dutchie'
    ]
    return where_the_dutchie_is_passed_to

printer = catchyReggaeFunction(left_hand_side)
print(printer)

輸出:

['pass the dutchie pin the left hand side']

這個愚蠢的例子的目的是表明列表推導式都是關於傳遞事物的——就像 dutchie 一樣。在本例中,我從清單中過濾掉「dutchie」並將其傳遞到新清單中。


外帶...呃,外帶:

如果您正在努力解決諸如列表推導之類的抽象概念,那麼您並不孤單。每個人一開始都覺得這東西是巫師級的魔法,但過了一會兒就開始有意義了。就像一首朗朗上口的歌曲的副歌,一旦你聽夠了,它就會被記住。

這就是:我從困惑到理解清單理解的旅程,一次一個荷蘭人。

現在,我們不是都玩得很開心嗎?

版本聲明 本文轉載於:https://dev.to/yoshed-it/list-comprehension-and-regae-4ne6?1如有侵犯,請聯繫[email protected]刪除
最新教學 更多>
  • Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    在ASP.NET async void void async void void void void void的設計無需返回asynchroncon而無需返回任務對象。他們在執行過程中增加未償還操作的計數,並在完成後減少。在某些情況下,這種行為可能是有益的,例如未期望或明確預期操作結果的火災和...
    程式設計 發佈於2025-05-11
  • 如何使用組在MySQL中旋轉數據?
    如何使用組在MySQL中旋轉數據?
    在關係數據庫中使用mySQL組使用mySQL組進行查詢結果,在關係數據庫中使用MySQL組,轉移數據的數據是指重新排列的行和列的重排以增強數據可視化。在這裡,我們面對一個共同的挑戰:使用組的組將數據從基於行的基於列的轉換為基於列。 Let's consider the following ...
    程式設計 發佈於2025-05-11
  • Python讀取CSV文件UnicodeDecodeError終極解決方法
    Python讀取CSV文件UnicodeDecodeError終極解決方法
    在試圖使用已內置的CSV模塊讀取Python中時,CSV文件中的Unicode Decode Decode Decode Decode decode Error讀取,您可能會遇到錯誤的錯誤:無法解碼字節 在位置2-3中:截斷\ uxxxxxxxx逃脫當CSV文件包含特殊字符或Unicode的路徑逃...
    程式設計 發佈於2025-05-11
  • 為什麼不使用CSS`content'屬性顯示圖像?
    為什麼不使用CSS`content'屬性顯示圖像?
    在Firefox extemers屬性為某些圖像很大,&& && && &&華倍華倍[華氏華倍華氏度]很少見,卻是某些瀏覽屬性很少,尤其是特定於Firefox的某些瀏覽器未能在使用內容屬性引用時未能顯示圖像的情況。這可以在提供的CSS類中看到:。 googlepic { 內容:url(&...
    程式設計 發佈於2025-05-11
  • 圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    在chrome 中刪除一個頻繁的問題時,在與Chrome and IE9中的圖像一起工作時,遇到了一個頻繁的問題。和“邊境:無;”在CSS中。要解決此問題,請考慮以下方法: Chrome具有忽略“ border:none; none;”的已知錯誤,風格。要解決此問題,請使用以下CSS ID塊創建帶...
    程式設計 發佈於2025-05-11
  • 為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    查詢模式實現缺失:解決“無法找到”錯誤在銀光應用程序中,嘗試使用LINQ建立錯誤的數據庫連接的嘗試,無法找到以查詢模式的實現。 ”當省略LINQ名稱空間或查詢類型缺少IEnumerable 實現時,通常會發生此錯誤。 解決問題來驗證該類型的質量是至關重要的。在此特定實例中,tblpersoon可能...
    程式設計 發佈於2025-05-11
  • Python環境變量的訪問與管理方法
    Python環境變量的訪問與管理方法
    Accessing Environment Variables in PythonTo access environment variables in Python, utilize the os.environ object, which represents a mapping of envir...
    程式設計 發佈於2025-05-11
  • PHP與C++函數重載處理的區別
    PHP與C++函數重載處理的區別
    作為經驗豐富的C開發人員脫離謎題,您可能會遇到功能超載的概念。這個概念雖然在C中普遍,但在PHP中構成了獨特的挑戰。讓我們深入研究PHP功能過載的複雜性,並探索其提供的可能性。 在PHP中理解php的方法在PHP中,函數超載的概念(如C等語言)不存在。函數簽名僅由其名稱定義,而與他們的參數列表無關...
    程式設計 發佈於2025-05-11
  • C++20 Consteval函數中模板參數能否依賴於函數參數?
    C++20 Consteval函數中模板參數能否依賴於函數參數?
    [ consteval函數和模板參數依賴於函數參數在C 17中,模板參數不能依賴一個函數參數,因為編譯器仍然需要對非contexexpr futcoriations contim at contexpr function進行評估。 compile time。 C 20引入恆定函數,必須在編譯時進...
    程式設計 發佈於2025-05-11
  • 如何在無序集合中為元組實現通用哈希功能?
    如何在無序集合中為元組實現通用哈希功能?
    在未訂購的集合中的元素要糾正此問題,一種方法是手動為特定元組類型定義哈希函數,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    程式設計 發佈於2025-05-11
  • 為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    網格超過身體,用100%grid-template-columns 為什麼在grid-template-colms中具有100%的顯示器,當位置設置為設置的位置時,grid-template-colly修復了? 問題: 考慮以下CSS和html: class =“ snippet-code”> ...
    程式設計 發佈於2025-05-11
  • 如何限制動態大小的父元素中元素的滾動範圍?
    如何限制動態大小的父元素中元素的滾動範圍?
    在交互式接口中實現垂直滾動元素的CSS高度限制問題:考慮一個佈局,其中我們具有與用戶垂直滾動一起移動的可滾動地圖div,同時與固定的固定sidebar保持一致。但是,地圖的滾動無限期擴展,超過了視口的高度,阻止用戶訪問頁面頁腳。 $("#map").css({ margin...
    程式設計 發佈於2025-05-11
  • Android如何向PHP服務器發送POST數據?
    Android如何向PHP服務器發送POST數據?
    在android apache httpclient(已棄用) httpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost(“ http://www.yoursite.com/script.p...
    程式設計 發佈於2025-05-11
  • 使用jQuery如何有效修改":after"偽元素的CSS屬性?
    使用jQuery如何有效修改":after"偽元素的CSS屬性?
    在jquery中了解偽元素的限制:訪問“ selector 嘗試修改“:”選擇器的CSS屬性時,您可能會遇到困難。 This is because pseudo-elements are not part of the DOM (Document Object Model) and are th...
    程式設計 發佈於2025-05-11
  • 如何使用替換指令在GO MOD中解析模塊路徑差異?
    如何使用替換指令在GO MOD中解析模塊路徑差異?
    在使用GO MOD時,在GO MOD 中克服模塊路徑差異時,可能會遇到衝突,其中3個Party Package將另一個PAXPANCE帶有導入式套件之間的另一個軟件包,並在導入式套件之間導入另一個軟件包。如迴聲消息所證明的那樣: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    程式設計 發佈於2025-05-11

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3