菜鳥學習日記(python)——推導式

?python中的推導式是一種獨特的數據處理方式,可以從一個數據序列去構建另一個新的數據序列的結構體。

它包括以下推導式:

  • 列表(list)推導式
  • 字典(dict)推導式
  • 集合(set)推導式
  • 元組(tuple)推導式

列表(list)推導式

列表推導式的一般格式為:

[表達式1 for?變量名?in?列表名]

或者對推導式結果進行篩選

[表達式1 for?變量名?in?列表名 if?表達式2]

其中,表達式1表示的是列表生成元素表達式,它可以是有返回值的函數;表達式2是條件過濾語句,可以過濾掉不符合條件的值。

以下是簡單的實例:

#列表推導式
#將list1乘以2倍輸出
list1=[1,2,3]
print([i*2 for i in list1 if i>1])
#list1中長度大于3的字符串,小寫全部轉成大寫輸出
list1=['lily','judy','Anny','Bob']
print([str.upper() for str in list1 if len(str)>3])
#打印20以內可以被2整除的整數
print([num for num in range(20) if num%2==0])

字典(dict)推導式

字典推導式的一般格式為:

{鍵:值表達式?for?鍵?in?序列}

{鍵:值表達式?for?鍵?in?序列?if?條件表達式}

下面是簡單的實例:

#字典推導式
#列表元素作為鍵,列表元素的長度作為值
list1=['name','sex','age']
dict1={str:len(str) for str in list1}
print(dict1)
#用推導式復制出一個擁有相同鍵值對的字典
dict2={'name':'卷鵝','sex':'男','age':28}
dict3={str:dict2[str] for str in dict2.keys()}
print(dict3)
print(id(dict2))        #對比兩個字典的id,是不同的
print(id(dict3))
#用推導式計算三個整數的冪方
dict4={num:num**2 for num in range(1,5)}
print(dict4)
#加上篩選條件
dict4={num:num**2 for num in range(1,5) if num!=3}
print(dict4)

集合(set)推導式

集合推導式的一般格式為:

{表達式?for?變量?in?序列}

{表達式?for?變量?in?序列?if?條件表達式}

簡單實例如下:

#集合推導式
set1={var**3 for var in range(1,6)}
print(set1)
set2={ch for ch in('a','b','c','d','e') if ch not in ('a','c')}
print(set2)

注意:輸出的集合是無序的

元組(tuple)推導式(生成器表達式)

元組推導式可以利用 range 區間、元組、列表、字典和集合等數據類型,快速生成一個滿足指定需求的元組。

元組推導式基本格式:

(表達式?for?變量名?in?序列)

??或

(表達式?for?變量名?in?序列?if?條件表達式)

元組推導式和列表推導式的用法完全相同,只是元組推導式是用?()?圓括號將各部分括起來,而列表推導式用的是中括號?[],另外元組推導式返回的結果是一個生成器對象。

但是我們可以用類型轉換函數將它轉換為一個元組

簡單的實例如下:

#元組推導式
a = (x for x in range(1,10))
print(a)
print(type(a))
tuple1=tuple(a)
print(tuple1)
print(type(tuple1))

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

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

相關文章

Multi-Cell Downlink Beamforming: Direct FP, Closed-Form FP, Weighted MMSE

這里寫自定義目錄標題 Direct FPClosed-Form FPthe Lagrangian functionthe Lagrange dual function: maximizing the Lagrangianthe Lagrange dual problem: minimizing the Lagrange dual functionClosed-Form FP Weighted MMSE原論文 Lagrange dual5.1.1 The Lagrangian5.1.…

阿里云服務器經濟型、通用算力型、計算型、通用型、內存型實例區別及選擇參考

當我們通過阿里云的活動購買云服務器會發現,相同配置的云服務器往往有多個不同的實例可選,而且價格差別也比較大,例如同樣是4核8G的配置的云服務器,經濟型e實例活動價格只要1500.48/1年起,通用算力型u1實例要1795.97/1…

nvidia安裝出現7-zip crc error解決辦法

解決辦法:下載network版本,重新安裝。(選擇自己需要的版本) 網址:CUDA Toolkit 12.3 Update 1 Downloads | NVIDIA Developer 分析原因:local版本的安裝包可能在下載過程中出現損壞。 本人嘗試過全網說的…

linux 系統安全基線 安全加固操作

目錄 用戶口令設置 root用戶遠程登錄限制 檢查是否存在除root之外UID為0的用戶 ???????root用戶環境變量的安全性 ???????遠程連接的安全性配置 ???????用戶的umask安全配置 ???????重要目錄和文件的權限設置 ???????找未授權的SUID…

json轉yolo格式

json轉yolo格式 視覺分割得一些標注文件是json格式,比如,舌頭將這個舌頭區域分割出來(用mask二值圖的形式),對舌頭的分割第一步是需要檢測出來,缺少數據集,可以使用分割出來的結果,將…

無公網IP環境如何SSH遠程連接Deepin操作系統

文章目錄 前言1. 開啟SSH服務2. Deppin安裝Cpolar3. 配置ssh公網地址4. 公網遠程SSH連接5. 固定連接SSH公網地址6. SSH固定地址連接測試 前言 Deepin操作系統是一個基于Debian的Linux操作系統,專注于使用者對日常辦公、學習、生活和娛樂的操作體驗的極致&#xff0…

數據儀表盤設計:可視化數據指標和報告

寫在開頭 在信息爆炸的時代,數據不再是簡單的數字和圖表,而是一種有機的信息體系。如何將這些琳瑯滿目的數據以一種直觀而高效的方式展示,成為企業決策者和分析師們共同關注的問題。本文將帶您深入學習如何設計和創建數據儀表盤,使數據指標和報告以一目了然的方式呈現。 …

Python---time庫

目錄 時間獲取 時間格式化 程序計時 time庫包含三類函數: 時間獲取:time() ctime() gmtime() 時間格式化:strtime() strptime() 程序計時:sleep() perf_counter() 下面逐一介紹&#…

H3.3K27M彌漫性中線膠質瘤的反義寡核苷酸治療

今天給同學們分享一篇實驗文章“Antisense oligonucleotide therapy for H3.3K27M diffuse midline glioma”,這篇文章發表在Sci Transl Med期刊上,影響因子為17.1。 結果解讀: CRISPR-Cas9消耗H3.3K27M恢復了H3K27三甲基化,并延…

Echarts地圖案例及常見問題

前言 ECharts 是一個使用 JavaScript 實現的開源可視化庫,它可以幫助用戶以簡單的方式創建復雜的時間序列、條形圖、餅圖、地圖等圖形。 Echarts繪制地圖的案例 展示了中國各省份的人口數量 var myChart = echarts.init(document.getElementById(main)); var option = {t…

【TailwindCSS】

TailwindCSS作為一種現代化的CSS框架,以其高度的定制性和靈活性受到前端開發者的青睞。本文旨在提供一份詳細的TailwindCSS使用教程,特別適用于Vite和Vue框架的組合。 我們將從安裝開始,深入探討如何在項目中有效利用TailwindCSS的各項功能&…

在AWS Lambda上部署標準FFmpeg工具——Docker方案

大綱 1 確定Lambda運行時環境1.1 Lambda系統、鏡像、內核版本1.2 運行時1.2.1 Python1.2.2 Java 2 啟動EC23 編寫調用FFmpeg的代碼4 生成docker鏡像4.1 安裝和啟動Docker服務4.2 編寫Dockerfile腳本4.3 生成鏡像 5 推送鏡像5.1 創建存儲庫5.2 給EC2賦予角色5.2.1 創建策略5.2.2…

【帶頭學C++】----- 九、類和對象 ---- 9.10 C++設計模式之單例模式設計

??????????????????????麻煩您點個關注,不迷路???????????????????????? 目 錄 9.10 C設計模式之單例模式設計 舉例說明: 9.10 C設計模式之單例模式設計 看過我之前的文章的,簡單講解過C/Q…

遙測終端機RTU:實現遠程監測和控制的重要工具

遙測終端機RTU對設備進行遠程監測和控制,支持采集和傳輸數據,以實現對工業過程、公用事業、水文和環境的監測和管理。 遙測終端機RTU工作原理 計訊物聯遙測終端機RTU通過網口、串口進行傳感器/設備等現場數據采集,將其轉換為數字信號&#xf…

【LeetCode】202. 快樂數

202. 快樂數 難度:簡單 題目 編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」 定義為: 對于一個正整數,每一次將該數替換為它每個位置上的數字的平方和。然后重復這個過程直到這個數變為 1,也可能是 無限循環 但始終變…

高校網站建設的效果如何

高校有較高的信息承載需求、招生宣傳、學校內容呈現、內部消息觸達等需求,對高校來說,如今互聯網深入生活各個場景,無論學校發展、外部拓展還是內部師生互動、通知觸達等都需要完善。 除了傳統傳單及第三方平臺展示外,學校構建屬…

C#-數組池減少GC工作

數組池減少GC工作 通過ArrayPool類(名稱空間System.Buffers)使用數組池,可減少垃圾收集器的工作,ArrayPool管理一個數組池,數組可以從這租借,并返回池中,內存在ArrayPool中管理。 創建ArrayPool…

Html5響應式全開源網站建站源碼系統 附帶完整的搭建教程

Html5響應式全開源網站建站源碼系統是基于Html5、CSS3和JavaScript等技術開發的全開源網站建站系統。它旨在為初學者和小型企業提供一套快速、簡便的網站建設解決方案。該系統采用響應式設計,可以自適應不同設備的屏幕大小,提高用戶體驗。同時&#xff0…

Clean My Mac X2024解鎖完整版本

Clean My Mac X是Mac上一款美觀易用的系統優化清理工具,也是小編剛開始用Mac時的裝機必備。垃圾需要時時清,電腦才能常年新。Windows的垃圾清理工具選擇有很多,但是Mac的清理工具可選擇的就很少。 今天給大家推薦大名鼎鼎的Clean My Mac X&a…

elasticsearch-head 啟動教程

D:\elasticsearch-head-master>grunt server ‘grunt’ 不是內部或外部命令,也不是可運行的程序 或批處理文件。 npm install -g grunt-clinpm install