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

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

len() 函數妙用:十個增強 Python 程序可讀性的實踐

來源: 責編: 時間:2024-07-03 17:26:01 1208觀看
導讀今天我們要來聊聊一個看似簡單卻深藏不露的函數——len()。別看它平時低調,只需一招就能告訴你列表有多長、字符串有幾個字符,但它背后的妙用可多著呢!讓我們一起探索這10+個小技巧,讓你的Python代碼不僅高效,而且讀起來就

今天我們要來聊聊一個看似簡單卻深藏不露的函數——len()。別看它平時低調,只需一招就能告訴你列表有多長、字符串有幾個字符,但它背后的妙用可多著呢!讓我們一起探索這10+個小技巧,讓你的Python代碼不僅高效,而且讀起來就像故事一樣有趣!7L228資訊網——每日最新資訊28at.com

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

1. 列表長度,一眼看穿

當你有一個長長的列表,想知道里面裝了多少寶貝,直接上len()吧!7L228資訊網——每日最新資訊28at.com

my_list = [1, 2, "apple", True]print("我的列表有", len(my_list), "個元素。")

這行代碼就像魔法,瞬間告訴你列表的大小,簡單粗暴有效。7L228資訊網——每日最新資訊28at.com

2. 字符串的字符計數

處理文本時,想知道字符串的長度?len()來幫忙!7L228資訊網——每日最新資訊28at.com

message = "Hello, World!"print("這條消息有", len(message), "個字符。")

在這里,len()把空格和標點也算進去了哦,它對字符一視同仁。7L228資訊網——每日最新資訊28at.com

3. 隱形數組的秘密

知道數組里有多少層?用len()層層遞進。7L228資訊網——每日最新資訊28at.com

nested_list = [[1, 2], [3, 4, 5], [6]]print("最外層有", len(nested_list), "個子列表。")

想深入了解子列表的結構?嵌套使用len(),一層一層剝開它的心。7L228資訊網——每日最新資訊28at.com

4. 字典鍵的數量,輕松數

字典里有多少個鍵?別忘了我們的英雄len()。7L228資訊網——每日最新資訊28at.com

my_dict = {"name": "Alice", "age": 25, "city": "Wonderland"}print("我的字典包含了", len(my_dict), "個鍵值對。")

它只數鍵,不數值,是的,就是這么專一。7L228資訊網——每日最新資訊28at.com

5. 判斷空容器,一目了然

要檢查一個容器(如列表、字典)是否為空,len()+條件判斷,簡潔明了。7L228資訊網——每日最新資訊28at.com

empty_list = []if len(empty_list) == 0:    print("列表是空的,寂寞如雪。")

這招特別適合寫邏輯判斷,一眼看出真假。7L228資訊網——每日最新資訊28at.com

6. 等分列表,均勻分配

想要將列表平均分成幾份?先用len()算出總數,再按需分割。7L228資訊網——每日最新資訊28at.com

my_numbers = list(range(1, 11))chunk_size = 3for i in range(0, len(my_numbers), chunk_size):    print(my_numbers[i:i + chunk_size])

這段代碼就像切蛋糕,均勻分配,每份都是chunk_size那么大。7L228資訊網——每日最新資訊28at.com

7. 循環控制的智慧

在循環中,用len()控制迭代次數,避免越界風險。7L228資訊網——每日最新資訊28at.com

fruits = ["apple", "banana", "cherry"]for i in range(len(fruits)):    print(fruits[i].upper())

這樣可以確保安全地遍歷整個列表,每個水果都不錯過,還加了個大寫的特效。7L228資訊網——每日最新資訊28at.com

8. 生成序列的長度預知

創建序列時,比如生成一系列數字,提前知道長度能做更多計劃。7L228資訊網——每日最新資訊28at.com

sequence_length = 10sequence = [i for i in range(sequence_length)]print("我生成的序列有", len(sequence), "個數字。")

在生成之前就掌握了規模,是不是有種運籌帷幄的感覺?7L228資訊網——每日最新資訊28at.com

9. 動態調整數組大小的依據

動態數組操作時,根據當前長度決定是否添加或刪除元素。7L228資訊網——每日最新資訊28at.com

stack = [1, 2, 3]while len(stack) > 0:    print(stack.pop(), "被拿走了。")

這個例子展示了如何利用len()監控棧的大小,直到它變空。7L228資訊網——每日最新資訊28at.com

10. 優化代碼可讀性的小秘密

最后,記得len()可以讓代碼更易讀。比如,相比直接比較,下面哪種更直觀?7L228資訊網——每日最新資訊28at.com

# 不太直觀的寫法if my_list[10]:     # 假設這里是為了避免索引錯誤    pass# 更清晰的寫法if len(my_list) > 10:    # 明確表達了意圖    pass

通過直接檢查長度,代碼意圖一目了然,減少了誤解的空間。7L228資訊網——每日最新資訊28at.com

進階與高級用法

11. 利用len()進行條件判斷的高級玩法

在復雜的邏輯判斷中,len()可以與Python的布爾運算結合,簡化代碼。比如,檢查列表是否包含特定數量的元素。7L228資訊網——每日最新資訊28at.com

my_items = [1, 2, 3, 4, 5]# 如果列表恰好有3個或5個元素if len(my_items) in [3, 5]:    print("列表長度符合要求!")

這種方式比使用多個if-elif語句更為簡潔。7L228資訊網——每日最新資訊28at.com

12. len()與生成器表達式的結合

生成器在處理大數據時非常有用,但它們的長度計算可能不是即時的。盡管如此,len()依然適用,但需要注意性能影響。7L228資訊網——每日最新資訊28at.com

large_data = (x for x in range(1, 1000000))# 注意:對于大型生成器,計算長度可能會消耗資源print("生成器的大致長度是", len(list(large_data)))  # 注意轉換為列表

這里提醒大家,對于非常大的數據集,直接計算長度可能不是最優選擇。7L228資訊網——每日最新資訊28at.com

13. 在類定義中的應用

自定義對象時,可以通過重寫__len__方法,使len()適用于你的對象。7L228資訊網——每日最新資訊28at.com

class MyCollection:    def __init__(self, items):        self.items = items        def __len__(self):        return len(self.items)my_collection = MyCollection([1, 2, 3])print("自定義集合有", len(my_collection), "個元素。")

通過這種方式,len()函數能夠適用于你創建的任何集合類,增強了代碼的通用性和一致性。7L228資訊網——每日最新資訊28at.com

14. 與迭代器的巧妙結合

迭代器沒有直接的長度屬性,但我們可以間接利用len()通過轉換成列表或集合來獲取長度,盡管這不是最佳實踐。7L228資訊網——每日最新資訊28at.com

iterator = iter([1, 2, 3, 4])# 不推薦,特別是對于大型迭代器print("轉換后的長度是", len(list(iterator)))

再次強調,對于大量數據,直接轉換成列表來求長度會消耗大量內存。7L228資訊網——每日最新資訊28at.com

15. 創意編碼挑戰:動態字符串長度調整

最后,來個小挑戰,用len()來實現一個功能,比如根據字符串長度動態添加星號作為前綴,以達到特定長度。7L228資訊網——每日最新資訊28at.com

def pad_with_stars(target_length, text):    current_length = len(text)    padding_needed = target_length - current_length    if padding_needed > 0:        padded_text = "*" * padding_needed + text        return padded_text    else:        return textprint(pad_with_stars(10, "Hello"))

這個小函數展示了如何根據目標長度動態調整字符串,既實用又展示了len()在字符串操作中的靈活性。7L228資訊網——每日最新資訊28at.com

通過這些額外的技巧和思考,我們不僅深化了對len()函數的理解,還學會了如何將其融入更復雜的編程實踐中,提高代碼的靈活性和可讀性。7L228資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-98560-0.htmllen() 函數妙用:十個增強 Python 程序可讀性的實踐

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

上一篇: 一分鐘了解,預寫日志 WAL 的核心思路...

下一篇: Vue入門指南:從基礎到實踐

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • CSS單標簽實現轉轉logo

    轉轉品牌升級后更新了全新的Logo,今天我們用純CSS來實現轉轉的新Logo,為了有一定的挑戰性,這里我們只使用一個標簽實現,將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • 三萬字盤點 Spring 九大核心基礎功能

    大家好,我是三友~~今天來跟大家聊一聊Spring的9大核心基礎功能。話不多說,先上目錄:圖片友情提示,本文過長,建議收藏,嘿嘿嘿!一、資源管理資源管理是Spring的一個核心的基礎功能,不
  • 使用LLM插件從命令行訪問Llama 2

    最近的一個大新聞是Meta AI推出了新的開源授權的大型語言模型Llama 2。這是一項非常重要的進展:Llama 2可免費用于研究和商業用途。(幾小時前,swyy發現它已從LLaMA 2更名為Lla
  • 微軟邀請 Microsoft 365 商業用戶,測試視頻編輯器 Clipchamp

    8 月 1 日消息,微軟近日宣布即將面向 Microsoft 365 商業用戶,開放 Clipchamp 應用,邀請用戶通過該應用來編輯視頻。微軟于 2021 年收購 Clipchamp,隨后開始逐步整合到 Microsof
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • iQOO Neo8 Pro搶先上架:首發天璣9200+ 安卓性能之王

    經過了一段時間的密集爆料,昨日iQOO官方如期對外宣布:將于5月23日推出全新的iQOO Neo8系列新品,官方稱這是一款擁有旗艦級性能調校的作品。隨著發布時
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業領先的性能,令人印象深刻的電池續航,精美豐
  • Meta盲目擴張致超萬人被裁,重金押注元宇宙而前景未明

    圖片來源:圖蟲創意日前,Meta創始人兼CEO 馬克·扎克伯發布公開信,宣布Meta計劃裁員超11000人,占其員工總數13%。他公開承認了自己的預判失誤:“不僅
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久激五月天综合精品| 伊人久久大香线蕉av超碰演员| 国产日韩欧美一二三区| 国产精品一区二区三区久久| 亚洲电影免费在线观看| 亚洲人成在线播放| 在线中文字幕一区| 久久久999精品| 欧美精品一区二区三| 国产精品嫩草影院一区二区| 精品动漫av| 99国产精品一区| 午夜电影亚洲| 欧美96在线丨欧| 国产精品久久久久久影视| 狠狠色噜噜狠狠狠狠色吗综合| 国产精品免费看片| 国模私拍一区二区三区| 亚洲欧洲一级| 欧美一区二区观看视频| 欧美成人dvd在线视频| 国产精品日韩专区| 亚洲黄色免费| 欧美一区二区三区视频在线 | 欧美另类高清视频在线| 国产精品亚洲人在线观看| 亚洲国产精品久久久久秋霞不卡| 亚洲电影一级黄| 中文欧美字幕免费| 蜜桃精品一区二区三区| 国产精品欧美在线| 亚洲狠狠婷婷| 久久av一区二区三区漫画| 欧美日韩国产成人在线91| 国外成人在线视频| 亚洲永久精品国产| 欧美激情中文不卡| 在线播放不卡| 欧美在线黄色| 国产精品久久久久久久app| 亚洲激情视频在线播放| 久久激情综合网| 欧美午夜精品电影| 亚洲黄色成人| 久久久亚洲国产美女国产盗摄| 老司机午夜精品| 国产精品乱码人人做人人爱 | 中文国产亚洲喷潮| 欧美~级网站不卡| 国产一区视频网站| 亚洲视频一区在线| 欧美激情一区二区三区| 激情小说另类小说亚洲欧美| 亚洲欧美日韩综合aⅴ视频| 欧美日韩免费观看中文| 亚洲欧洲一级| 美女精品在线观看| 精品999成人| 久久精品国产99国产精品| 国产精品视频在线观看| 亚洲视频一起| 欧美午夜电影网| 亚洲最新色图| 欧美精品一区二区三区久久久竹菊| 国产精品www.| 亚洲视频观看| 欧美日本亚洲韩国国产| 91久久国产综合久久91精品网站 | 欧美国产高清| 亚洲国产综合视频在线观看| 久久综合狠狠综合久久激情| 一区二区三区在线看| 欧美在线网址| 国产亚洲一区在线| 欧美在线不卡视频| 国产欧美日韩亚洲| 欧美一级大片在线观看| 国产精品免费一区二区三区观看| 国产婷婷97碰碰久久人人蜜臀| 1024亚洲| 老牛嫩草一区二区三区日本 | 欧美成人精品激情在线观看| 永久555www成人免费| 久久婷婷国产综合国色天香| 韩日欧美一区二区三区| 久久久噜噜噜久久人人看| 国产亚洲一区二区三区| 久久精品91久久香蕉加勒比| 国产午夜久久久久| 久久精品国产亚洲精品| 在线色欧美三级视频| 美女黄网久久| 亚洲精品在线观看免费| 欧美—级高清免费播放| 亚洲伦理在线免费看| 欧美午夜a级限制福利片| 亚洲在线一区| 国产一区二区三区四区在线观看| 日韩一区二区精品葵司在线| 欧美精品二区三区四区免费看视频| 国产一区二区三区久久久| 久久久夜色精品亚洲| 亚洲国产日韩一区| 欧美日韩免费高清| 午夜一级久久| 精品成人在线视频| 欧美成人嫩草网站| 一区二区三区精品久久久| 国产精品萝li| 久久久蜜桃精品| 亚洲日本无吗高清不卡| 欧美午夜一区二区| 香蕉免费一区二区三区在线观看 | 裸体丰满少妇做受久久99精品| 国产精品一区二区久激情瑜伽| 99av国产精品欲麻豆| 国产精品久久久久9999| 久久激情综合网| 另类亚洲自拍| 亚洲日本欧美天堂| 欧美午夜寂寞影院| 久久精品国产欧美亚洲人人爽| 国产精品一区二区三区观看| 久久久久久久久久久久久女国产乱 | 久久精品视频免费| 亚洲激情社区| 国产精品yjizz| 欧美一区二区三区的| 亚洲国产精品一区| 国产精品久久久久久av下载红粉| 在线亚洲免费视频| 国产毛片一区二区| 久久先锋影音av| 一区二区福利| 激情另类综合| 国产精品久久久久久久久久三级| 一区二区日韩精品| 国产视频在线一区二区| 欧美精品日韩综合在线| 西瓜成人精品人成网站| 国产精品久久久久高潮| 久久久夜夜夜| 亚洲自拍偷拍网址| 亚洲国产欧美另类丝袜| 国产精品久久久久久超碰| 老牛国产精品一区的观看方式| 在线免费观看欧美| 国产精品草草| 欧美不卡视频一区发布| 欧美一区在线看| av成人老司机| 玉米视频成人免费看| 国产精品一区二区男女羞羞无遮挡 | 欧美精品亚洲| 久久久久在线| 性欧美xxxx大乳国产app| 日韩亚洲在线观看| 在线精品视频在线观看高清 | 欧美日韩精品免费观看视频完整 | 亚洲免费观看在线观看| 国产亚洲综合精品| 欧美体内she精视频| 欧美岛国激情| 久久久7777| 午夜欧美大片免费观看| av不卡免费看| 亚洲精品123区| 精东粉嫩av免费一区二区三区| 欧美激情视频一区二区三区在线播放 | 一区免费在线| 国产伦精品一区二区三区视频孕妇 | 国产永久精品大片wwwapp| 国产精品xnxxcom| 欧美乱妇高清无乱码| 久久久水蜜桃av免费网站| 午夜精品国产精品大乳美女| 亚洲视频你懂的| 99精品国产在热久久| 亚洲黄色成人久久久| 伊人久久大香线| 黄色成人91| 国产综合在线看| 国产亚洲欧美另类一区二区三区| 欧美mv日韩mv国产网站| 久久成人资源| 欧美一区二区三区四区在线观看| 亚洲国产老妈| 狠狠综合久久| 激情五月综合色婷婷一区二区| 欧美日韩精品| 欧美久色视频| 欧美另类视频在线| 你懂的一区二区| 欧美+日本+国产+在线a∨观看| 亚洲女女做受ⅹxx高潮| 正在播放亚洲| 亚洲午夜精品网| 一本色道久久88精品综合| 亚洲欧洲日产国码二区| 亚洲国产欧美精品| 亚洲高清在线观看| 在线观看欧美成人| 亚洲大胆女人| 亚洲欧洲精品成人久久奇米网|