Python知識點9---推導式

提前說一點:如果你是專注于Python開發,那么本系列知識點只是帶你入個門再詳細的開發點就要去看其他資料了,而如果你和作者一樣只是操作其他技術的Python API那就足夠了。

Python提供的推導式,只對列表、字典、集合三種數據類型生效,其他的類型沒有推導式一說,且推導式的目的其實是簡化代碼,所以它無法完成逆天的操作

第一種:列表推導式

它的作用是用一個表達式去創建或者控制一個有規律的列表,注意有規律的

目標:創建一個元素為0-10的列表a = [ i+1 for i in range(10)]
print(a)
結果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

列表推導式其實說的就是一個簡化的for循環而已,而且列表推導式可以加 if 條件判斷

a = [ i for i in range(10) if i % 2 == 0]
print(a)
結果:[0, 2, 4, 6, 8]

同時它可以多個for一起寫

a = [ i+j for i in range(10) for j in range(3)]
print(a)
結果:[0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7, 6, 7, 8, 7, 8, 9, 8, 9, 10, 9, 10, 11]

列表推導式,就只有上面這三種模式,太復雜的大家還是直接寫 for 循環吧

第二種:字典推導式

字典推導式的作用是合并列表為字典或者提取字典中的數據

目標:創建一個key是0-5,value是key的平方的字典a = { i : i**2 for i in range(5) }
print(a)
結果:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

同樣合并列表,我們可以這樣寫

a = ["name"]
b = ["Tom"]
c = { a[i] : b[i] for i in range(len(a))}
print(c)
結果:{'name': 'Tom'}

第三種:集合推導式

a = { i for i in range(5)}
print(a)
結果:set([0, 1, 2, 3, 4])

有了上面兩,我相信大家都已經知道推導式是干什么的了,它其實復雜操作也做不了,但是它可以幫你完成一些如創建、遍歷、修改等有規律的便捷操作

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20273.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20273.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20273.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

公司網站模板制作

公司網站模板的制作是一項極其重要的工作,因為網站模板決定了網站的整體風格和用戶體驗。一個漂亮、易用的網站模板將會吸引更多的用戶,而一個糟糕的網站模板則會讓用戶不供選擇。下面就讓我們介紹一下公司網站模板的制作。 首先,一個好的網站…

iCold編程入門:探索未知的編程世界

iCold編程入門:探索未知的編程世界 在浩瀚的數字宇宙中,iCold編程猶如一顆璀璨的新星,吸引著無數好奇而勇敢的探險家。然而,對于初學者來說,這個神秘的世界往往充滿了未知與挑戰。今天,我們就將一同踏入這…

前端 CSS 經典:mac docker 效果

前言:瀏覽器上實現 mac docker 效果,實現思路,1. 布局,方框間距用元素代替,因為有放大縮小功能,不用元素的話,不好控制。2. 定義個 css 變量 i,用來代表放大比例。3. 確定每個元素的…

信息系統項目管理師軟考高級論文教程必過論文分享

很多人提到軟考就會想到信息系統項目管理師和系統集成項目管理工程師,這兩個不同的軟考內容的區別不僅僅在于一個是高級,一個是中級,還有一個區別是它們的考試內容也是不同的,高級的信息系統項目管理師考試多了一項論文的考試&…

K-means 聚類算法和K-means ++聚類算法詳解【5】

1、通俗易懂的講解鏈接 補充鏈接,K- means算法的K值選擇策略:鏈接一,鏈接二???????; 后續關鍵點漸次補充

MySQL入門學習-查詢進階.正則表達式

在 MySQL 中,正則表達式是用于匹配文本模式的工具。正則表達式可以用于在查詢中進行模式匹配,以便更精確地查找和操作數據。 一、以下是一些常見的查詢進階操作和正則表達式的特點、使用方法以及與其他比較和高級應用的示例: 1. LIKE操作符…

USART串口數據包

USART串口數據包 先來看兩張圖,本次程序是串口收發HEX數據包,第二種是串口收發文本數據包,之后兩個圖,展示的就是接收數據包的思路。 在PB1這里接了一個按鍵,用于控制。在串口助手,在發送模式和接收模式都…

Debian 常用命令指南:基礎篇

Debian 是一款廣泛使用的 Linux 發行版,以其穩定性和安全性著稱。對于新手來說,掌握一些常用的命令行工具是順利使用 Debian 的第一步。本篇文章將介紹一些 Debian 系統中最常用的基礎命令,幫助你更好地管理和操作你的系統。 1. 系統信息相關…

JAVA攔截器的三種實現方式

JAVA攔截器的三種實現方式 一、java原生過濾器Filter二、springMVC攔截器三、aop切面實現攔截器 一、java原生過濾器Filter /*** 自定義Filter* 對請求的header 過濾token** 過濾器Filter可以拿到原始的HTTP請求和響應的信息,* 但是拿不到你真正處理請求方法的…

Java 基礎面試300題 (141- 170 )

Java 基礎面試300題 &#xff08;141- 170 &#xff09; 141. 編譯運行以下代碼時會發生什么&#xff1f; class Mammal {} class Cat extends Mammal { } List<Mammal> list new ArrayList<Cat>();上述代碼將出現編譯錯誤。這是因為為List指定了Mammal哺乳動物…

SpringSecurity6從入門到實戰之整合原生Filter鏈

SpringSecurity6從入門到實戰之整合原生Filter鏈 DelegatingFilterProxy 從官網上來進行學習可以看到第一個類就是DelegatingFilterProxy,我們首先看看官網給下的定義. Spring提供了一個名為DelegatingFilterProxy的過濾器實現&#xff0c;它允許在Servlet容器的生命周期和Spr…

Raid的全局熱備和獨立熱備

目錄 Hot Spare背景: 1.定義與功能 2.數據存儲與容量 3.配置模式 4.數量限制&#xff1a; 5.數據重建: 6.管理與維護 實操全局熱備和獨立熱備&#xff1a; 配置全局熱備: 配置獨立熱備: Hot Spare背景: 在RAID配置中&#xff0c;Hot Spare(熱備)是一個非常重要的概念…

amis源碼 Api接口調用解析:

Amis中傳入用戶自定義fetcher(基于fetcher做接口調用)&#xff1a; 1.embed渲染時可以傳入用戶定義的fetcher(接口調用)&#xff1a; import axios from "/libs/api.request"; //自定義的fetcher調用接口&#xff08;axios調用&#xff09; { fetcher: ()>{ ……

發現一個ai工具網站

網址 https://17yongai.com/ 大概看了下&#xff0c;這個網站收集的數據還挺有用的&#xff0c;有很多實用的ai教程。 懂ai工具的可以在這上面找找靈感。

善聽提醒遵循易經原則。世界大同只此一路。

如果說前路是一個大深坑&#xff0c;那必然是你之前做的事情做的不太好&#xff0c;當壞的時候&#xff0c;壞的結果來的時候&#xff0c;是因為你之前的行為&#xff0c;你也就不會再糾結了&#xff0c;會如何走出這個困境&#xff0c;是好的來了&#xff0c;不驕不躁&#xf…

事先預判事的結果事先預防從容應對防微杜漸

很多人呢&#xff0c;學習倪老師的知識&#xff0c;也都是從他的中醫方面&#xff0c;認識了他很多的東西呢&#xff0c;對于倪老師的知識性的總結的東西呢&#xff0c;不是很了解。 其實啊&#xff0c;倪老師也是一個&#xff0c;對于這種文化的傳承&#xff0c;有著很大很深刻…

一些匯編語言的總結

一、匯編語言的介紹 1、匯編語言和處理器指令集高度相關&#xff0c;不同指令集的匯編語言不兼容。 2、匯編語言是對機器語言的一種抽象&#xff0c;用英文字符來代表運算和控制指令&#xff0c;用英文字母和數字代表操作數。 二、常用的匯編語言 有 x86的匯編語言&#xff…

YOLOv10漲點改進:卷積魔改 | 分布移位卷積(DSConv),提高卷積層的內存效率和速度

??????本文改進內容: YOLOv10如何魔改卷積進一步提升檢測精度?提出了一種卷積的變體,稱為DSConv(分布偏移卷積),其可以容易地替換進標準神經網絡體系結構并且實現較低的存儲器使用和較高的計算速度。 DSConv將傳統的卷積內核分解為兩個組件:可變量化內核(VQK)和…

iOS編程入門:揭秘神秘的開發世界

iOS編程入門&#xff1a;揭秘神秘的開發世界 在數字化時代的浪潮中&#xff0c;iOS編程成為了許多開發者熱衷探索的領域。想要入門iOS編程&#xff0c;不僅需要掌握基礎知識&#xff0c;還需理解其獨特的生態系統。本文將通過四個方面、五個方面、六個方面和七個方面&#xff…

golang中通過反射獲取結構體Tag標簽定義的內容 函數和測試用例

當我們在go語言中定義結構體的時候&#xff0c; 經常需要給某些字段打上一個Tag標簽, 如 Name string json:"name" , 那這個標簽有和作用呢&#xff1f; 這個作用可大了&#xff0c;最為常用的是json序列化和反序列化&#xff0c; 還有各種ORM 的實體對象定義&…