8?? 高級特性—— 列表生成式

文章目錄

    • 🧠 總結
    • 1. 基本語法
    • 2. 加篩選條件
      • 🔁 雙層循環(全排列)
      • 📂 遍歷目錄
      • 🔑 遍歷字典
      • 🔡 轉小寫
    • 3. if 和 if...else 的區別
    • 4. 練習題

🧠 總結

特性用法示例
基礎語法[x for x in iterable]
帶條件篩選[x for x in iterable if condition]
條件表達式[x if cond else y for x in iterable]
多重循環[x + y for x in A for y in B]
字典處理[k + '=' + v for k, v in d.items()]
類型判斷過濾[x for x in L if isinstance(x, str)]

1. 基本語法

[x for x in iterable]

示例:生成 1~10 的平方數

squares = [x * x for x in range(1, 11)]
print(squares)
# [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2. 加篩選條件

只保留偶數平方:

evens = [x * x for x in range(1, 11) if x % 2 == 0]
# [4, 16, 36, 64, 100]

🔁 雙層循環(全排列)

pairs = [m + n for m in 'ABC' for n in 'XYZ']
# ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

📂 遍歷目錄

import os
files = [d for d in os.listdir('.')]

🔑 遍歷字典

d = {'x': 'A', 'y': 'B', 'z': 'C'}
pairs = [k + '=' + v for k, v in d.items()]
# ['x=A', 'y=B', 'z=C']

🔡 轉小寫

L = ['Hello', 'World', 'IBM', 'Apple']
lowered = [s.lower() for s in L]
# ['hello', 'world', 'ibm', 'apple']

3. if 和 if…else 的區別

? 過濾條件(寫在 for 后):

[x for x in range(1, 11) if x % 2 == 0]
# [2, 4, 6, 8, 10]

?? ? 錯誤寫法(不能在過濾條件加 else):

# 錯誤示例:
# [x for x in range(1, 11) if x % 2 == 0 else 0]

? 條件表達式(寫在 for 前)必須帶 else

[x if x % 2 == 0 else -x for x in range(1, 11)]
# [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10]

4. 練習題

將包含字符串與非字符串的列表,轉換為小寫字符串列表。

L1 = ['Hello', 'World', 18, 'Apple', None]
L2 = [s.lower() for s in L1 if isinstance(s, str)]print(L2)
# ['hello', 'world', 'apple']# 測試
if L2 == ['hello', 'world', 'apple']:print('? 測試通過!')
else:print('? 測試失敗!')

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

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

相關文章

DocC的簡單使用

DocC的簡單使用 在寫3GShare中,由于剛開始使用MVC模式來寫東西,對很多東西都不是很熟,經常寫著寫著就忘了自己在寫什么,所以學了一下DocC來加快開發進度 什么是DocC 簡單來說,DocC就是更高級的注釋,雖然…

深入理解C語言快速排序與自省排序(Introsort)

排序算法是計算機科學中最基礎也是最重要的知識之一。快速排序(Quicksort)因其平均時間復雜度為 O(n log n) 而廣受歡迎,但在最壞情況下會退化到 O(n)。為了克服這一缺點,自省排序(Introsort) 應運而生&…

C#編程基礎:運算符與結構詳解

目錄 一.關系運算符 常見關系運算符 二.邏輯運算符 常見邏輯運算符 1. 邏輯與(&& 或 and) 2. 邏輯或(|| 或 or) 3. 邏輯非(! 或 not) 運算符優先級 三.if語句 1.c#程序的三大結構 1.順序…

嵌入式學習-土堆目標檢測(3)-day27

再學一個labelme在labelstudio環境中再pip install labelme安裝好后直接輸入 labelme之后點擊保存,選擇保存文件地址還有一個就是將labelme的格式轉化為yolo格式還是在labelstudio這個環境里面安裝pip install labelme2yolo

Qt OpenGL 集成:開發 3D 圖形應用

Qt 提供了完善的 OpenGL 集成方案,使開發者能夠在 Qt 應用中高效開發 3D 圖形應用。通過 Qt 的 OpenGL 模塊,可簡化 OpenGL 上下文管理、窗口渲染和跨平臺適配,同時結合現代 OpenGL 特性(如著色器、頂點緩沖、紋理等)實…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 熱詞評論查詢功能實現

大家好,我是java1234_小鋒老師,最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程,持續更新中,計劃月底更新完,感謝支持。今天講解熱詞評論查詢功能實現 視頻在線地址&#…

使用 Google Earth 的 DEM — 教程。

數字高程模型 (DEM)描繪了已知高程點之間的表面高程。本教程將向您展示如何使用 Google Earth 的高程數據生成 DEM。在當今世界,DEM 主要用于 GIS 應用。 當然,我們可以從美國地質調查局 (USGS) 網站下載數字高程模型 (DEM)。但如果我們想知道某個地點的…

在 UniApp 中實現中間凸起 TabBar 的完整指南

如何在 UniApp 中設置中間 TabBar 凸起效果 在移動應用開發中,TabBar 是常見的導航組件,而中間凸起的 TabBar 按鈕則是一種流行的設計風格,常用于突出重要功能(如發布、拍照等)。UniApp 提供了 midButton 屬性&#xf…

微觀低代碼

今日去深圳的一家工廠給客戶做培訓,主要培訓內容為低代碼產品的二開和功能演示。客戶使用了20年的ERP和OA系統,目前想對接到低代碼平臺。客戶目前想實現的主要功能是,對接OA的單點登錄,把ERP的功能遷移到低代碼平臺上來工廠規模比…

Linux進程控制:掌握系統的核心脈絡

Linux進程控制:掌握系統的核心脈絡 在 Linux 系統中,進程控制是系統運行的核心機制之一。無論是日常的命令行操作,還是復雜的后臺服務運行,都離不開對進程的管理和控制。本文將深入探討 Linux 進程控制的相關知識,幫助…

4N90-ASEMI電機控制專用4N90

編輯:LL4N90-ASEMI電機控制專用4N90型號:4N90品牌:ASEMI封裝:ITO-220ABRDS(on):3.60Ω批號:最新引腳數量:3封裝尺寸:如圖特性:N溝道MOS管工作結溫:-55℃~150℃一、卓越性…

Java 筆記 lambda

?Lambda 基本語法 (parameters) -> expression 或 (parameters) -> { statements }// 無參數 Runnable r () -> System.out.println("Hello");// 單個參數&#xff08;小括號可省略&#xff09; Consumer<String> c s -> System.out.println(s…

安全風險監測平臺:被動應對向主動預防的轉變

一、智能識別預警系統安全風險監測平臺通過部署多維度感知網絡&#xff0c;實現對各類安全隱患的智能識別與實時預警。系統采用深度學習算法&#xff0c;對人員行為、設備狀態、環境參數等進行全天候監測分析&#xff0c;建立動態風險評估模型。當檢測到異常情況時&#xff0c;…

圖片查重從設計到實現(2)Milvus安裝準備etcd介紹、應用場景及Docker安裝配置

etcd作用、應用場景及Docker安裝配置 在分布式向量數據庫 Milvus 的架構中&#xff0c;etcd 扮演著至關重要的角色。Milvus 用于存儲和管理海量向量數據&#xff0c;支持高效的相似性搜索等操作&#xff0c;而其分布式集群的正常運行高度依賴元數據的一致性和可靠性&#xff0c…

零彈窗干擾的貪吃蛇游戲,下載即玩

軟件介紹 在尋找貪吃蛇游戲的過程中&#xff0c;我發現了一款PC端版本&#xff0c;無需登錄即可直接使用&#xff0c;完全符合我的需求。 使用優勢 這款軟件最大的亮點在于完全免費&#xff0c;沒有任何廣告和彈窗干擾&#xff0c;支持完全離線運行&#xff0c;讓用戶能夠專注…

excel2013VBA開發access mdb數據庫系統的一點經驗分享

最近&#xff0c;自己從網盤里重新下載了過去保存的vba開發資料&#xff0c;就順手研究起了如何能通過excel203結合access 2013 mdb數據庫系統開發個VBA小系統。過簡單一說說了&#xff01;接說干貨經驗分享吧&#xff0c;1、俺先在mdb數據庫中建了一個有自動編號字段的數據表&…

我們能否承擔微服務帶來的復雜性和運維成本?

坦率地說&#xff0c;并非所有團隊都應該&#xff0c;承擔微服務帶來的復雜性和運維成本。在做出決定前&#xff0c;我們必須進行自我評估。 以下是評估是否能承擔微服務成本需要考慮的關鍵方面&#xff1a; 一、 復雜性帶來的挑戰 (Complexity Challenges):分布式系統固有復雜…

HCIP--MGRE實驗

一、實驗拓撲二、配置思路1、建立拓撲&#xff0c;配置IP&#xff0c;配置缺省路由是公網通暢2、路由器R1-R5,R2-R5,R3-R5之間都是串線鏈接&#xff0c;由于華為路由器默認的串線協議為PPP&#xff0c;因此根據實驗要求&#xff0c;R1-R5,R2-R5之間直接進行單向認證&#xff0c…

數字孿生映射探索驅動的具身導航!MorphoNavi:面向對象映射的空地機器人導航

作者&#xff1a; Sausar Karaf, Mikhail Martynov, Oleg Sautenkov, Zhanibek Darush, Dzmitry Tsetserukou單位&#xff1a;俄羅斯斯科爾科沃科學技術研究院智能空間機器人實驗室論文標題&#xff1a;MorphoNavi: Aerial-Ground Robot Navigation with Object Oriented Mappi…

統計與大數據分析與數學金融課程解析

CDA數據分析師證書含金量高&#xff0c;適應了未來數字化經濟和AI發展趨勢&#xff0c;難度不高&#xff0c;行業認可度高&#xff0c;對于找工作很有幫助。一、課程體系對比矩陣維度統計與大數據分析數學金融交叉領域數學基礎概率論(90%)隨機過程(85%)線性代數(100%)核心工具P…