日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

掌握Python核心利器:列表推導、字典推導與集合推導全面解析

來源: 責編: 時間:2024-06-21 17:19:18 159觀看
導讀在Python編程的世界里,推導式(Comprehensions)以其簡潔、高效的特性,成為編寫優雅代碼的不二法門。列表推導(List Comprehensions)、字典推導(Dictionary Comprehensions)和集合推導(Set Comprehensions)不僅能夠顯著提升代碼的

在Python編程的世界里,推導式(Comprehensions)以其簡潔、高效的特性,成為編寫優雅代碼的不二法門。列表推導(List Comprehensions)、字典推導(Dictionary Comprehensions)和集合推導(Set Comprehensions)不僅能夠顯著提升代碼的可讀性,還能在處理數據時大大增強性能。本篇推文將深入探討這三大推導式的精髓,通過豐富示例,讓你在實戰中領略它們的魅力。ygH28資訊網——每日最新資訊28at.com

ygH28資訊網——每日最新資訊28at.com

ygH28資訊網——每日最新資訊28at.com

列表推導:簡潔構建列表的魔法

列表推導式是Python中構造列表最直觀且高效的方式。它允許你在一行代碼中完成循環、條件判斷以及新元素的生成。ygH28資訊網——每日最新資訊28at.com

基礎示例:平方數生成ygH28資訊網——每日最新資訊28at.com

squares = [x**2 for x in range(1, 6)]print(squares)  # 輸出:[1, 4, 9, 16, 25]

條件過濾:篩選偶數ygH28資訊網——每日最新資訊28at.com

even_numbers = [x for x in range(10) if x % 2 == 0]print(even_numbers)  # 輸出:[0, 2, 4, 6, 8]

嵌套循環:矩陣轉置ygH28資訊網——每日最新資訊28at.com

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]transposed = [[row[i] for row in matrix] for i in range(len(matrix[0]))]print(transposed)  # 輸出:[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

字典推導:構建映射的藝術

字典推導允許你快速創建字典,其中每個鍵值對都是根據表達式計算得出的。ygH28資訊網——每日最新資訊28at.com

基礎示例:字母計數ygH28資訊網——每日最新資訊28at.com

word = "comprehension"char_count = {char: word.count(char) for char in set(word)}print(char_count)  # 輸出:{'c': 1, 'o': 2, 'm': 1, 'p': 1, 'r': 2, 'e': 2, 'h': 1, 'n': 1, 's': 1, 'i': 1, 't': 1}

條件過濾:年齡分類ygH28資訊網——每日最新資訊28at.com

people = [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}, {"name": "Charlie", "age": 35}]age_groups = {person["name"]: "adult" if person["age"] >= 18 else "minor" for person in people}print(age_groups)  # 輸出:{'Alice': 'adult', 'Bob': 'adult', 'Charlie': 'adult'}

集合推導:去重與集合運算

集合推導提供了創建集合的便捷方式,尤其擅長于去重和執行集合間的操作。ygH28資訊網——每日最新資訊28at.com

去重并平方ygH28資訊網——每日最新資訊28at.com

numbers = [1, 2, 2, 3, 4, 4, 5]unique_squares = {x**2 for x in numbers}print(unique_squares)  # 輸出:{1, 4, 9, 16, 25}

交集與平方ygH28資訊網——每日最新資訊28at.com

set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}common_squares = {x**2 for x in set1 & set2}print(common_squares)  # 輸出:{9, 16}

高級技巧:嵌套與鏈式推導

推導式可以相互嵌套,甚至與條件表達式相結合,實現復雜的邏輯。ygH28資訊網——每日最新資訊28at.com

嵌套列表推導:矩陣乘法ygH28資訊網——每日最新資訊28at.com

matrix_a = [[1, 2], [3, 4]]matrix_b = [[5, 6], [7, 8]]result = [[sum(a*b for a, b in zip(row_a, col_b)) for col_b in zip(*matrix_b)] for row_a in matrix_a]print(result)  # 輸出:[[19, 22], [43, 50]]

鏈式推導:復雜轉換

data = [("apple", 2), ("banana", 4), ("cherry", 1)]fruits_sorted_by_count = sorted(    (fruit for fruit, count in data),    key=lambda pair: pair[1],    reverse=True)print(fruits_sorted_by_count)  # 輸出:['banana', 'apple', 'cherry']

結語

列表推導、字典推導與集合推導是Python語言中不可或缺的精華部分,它們以簡潔而強大的表達形式,極大提升了編碼效率和代碼的可讀性。通過上述示例,希望能幫助你深入理解這三大推導式的應用,讓它們成為你編程旅途中的得力助手。在日常編程實踐中不斷探索,你會發現更多巧妙的使用場景,進一步提升代碼的性能與美感。ygH28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-95541-0.html掌握Python核心利器:列表推導、字典推導與集合推導全面解析

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 30.1%,隆基綠能創商業化尺寸疊層電池效率世界紀錄

下一篇: Python 中的十個不可不知的隱藏系統調用功能

標簽:
  • 熱門焦點
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 從 Pulsar Client 的原理到它的監控面板

    背景前段時間業務團隊偶爾會碰到一些 Pulsar 使用的問題,比如消息阻塞不消費了、生產者消息發送緩慢等各種問題。雖然我們有個監控頁面可以根據 topic 維度查看他的發送狀態,
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數或類的行為。裝飾器本質上是一個函數,它接受另一個函數或類作為參數,并返回一個新的函數或類。它們通常用
  • 騰訊蓋樓,字節拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之“想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!”曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • 8月見!小米MIX Fold 3獲得3C認證:支持67W快充

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • 由于成本持續增加,筆記本產品價格預計將明顯上漲

    根據知情人士透露,由于材料、物流等成本持續增加,筆記本產品價格預計將在2021年下半年有明顯上漲。進入6月下旬以來,全球半導體芯片缺貨情況加劇,顯卡、處理器
  • 電博會與軟博會實現"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發揮展會拉動人流、信息流、資金流實現快速交互流動的作用,繼而推動區域經濟良性發展;又可以聚
Top 主站蜘蛛池模板: 大英县| 孝昌县| 汝城县| 乌鲁木齐市| 勐海县| 从江县| 双牌县| 宣武区| 嘉黎县| 揭阳市| 旬阳县| 竹溪县| 台南市| 绿春县| 嘉义县| 海丰县| 五家渠市| 古丈县| 乡城县| 股票| 三江| 延边| 塔城市| 文化| 西乡县| 德昌县| 广丰县| 扬中市| 萝北县| 航空| 吉木萨尔县| 改则县| 揭西县| 阿拉善盟| 五家渠市| 东阿县| 丽江市| 望江县| 桑日县| 上杭县| 加查县|