一、len函數簡介
len是Python內置函數之一,用於獲取對象的長度,也就是元素個數或字元個數。對象可以是字元串、列表、元組、字典、集合、文件等,只要支持長度概念,就可以使用len函數。
# 示例1:獲取字元串長度 str1 = 'Hello World!' print(len(str1)) # 輸出12 # 示例2:獲取列表長度 list1 = [1, 2, 3, 4, 5] print(len(list1)) # 輸出5 # 示例3:獲取字典長度 dict1 = {'a': 1, 'b': 2, 'c': 3} print(len(dict1)) # 輸出3
二、字元串長度與編碼方式
在Python中,字元串是以Unicode編碼方式存儲的,不同於C語言中的單位元組字元數組。所以,當我們使用len函數獲取字元串長度時,得到的是code point的數量,而不是位元組數量。對於ASCII字元,一個code point對應一個位元組;而對於中文等Unicode字元,一個code point對應多個位元組。
# 示例4:中文字元長度問題 str2 = '中文字元長度問題' print(len(str2)) # 輸出9,因為有9個code point
三、複雜數據類型長度
除了基本數據類型,len函數也可以用於複雜數據類型的長度獲取。這裡簡單介紹幾種常見的數據類型。
1、列表長度
列表是Python中最常用的數據類型之一,可以通過len函數獲取其元素的個數。
# 示例5:獲取列表長度 list2 = [1, [2, 3], 'four', {'five': 5}] print(len(list2)) # 輸出4,因為有4個元素
2、字典長度
字典是Python中另一個常用的數據類型,可以通過len函數獲取其鍵值對的個數。
# 示例6:獲取字典長度 dict2 = {'jack': 18, 'jane': 20, 'bob': 22} print(len(dict2)) # 輸出3,因為有3個鍵值對
3、集合長度
集合是Python中一種無序的、元素唯一的數據類型,可以通過len函數獲取其元素的個數。
# 示例7:獲取集合長度 set1 = {1, 2, 3, 4, 5} print(len(set1)) # 輸出5,因為有5個元素
四、文件長度問題
對於打開的文件,len函數無法直接獲取其長度,因為文件是以流的形式讀取的,沒有固定的元素個數概念。但是,我們可以通過一些方法獲取文件的位元組數或行數,來近似地表示其長度。
計算文件位元組數可以使用os模塊的stat方法,計算文件行數可以逐行讀取文件內容並統計換行符的個數。
# 示例8:計算文件位元組數 import os statinfo = os.stat('test.txt') print(statinfo.st_size) # 輸出文件位元組數 # 示例9:計算文件行數 with open('test.txt', 'r') as f: count = 0 for line in f: count += 1 print(count) # 輸出文件行數
五、總結
len函數是Python編程中一個常用的函數,可以方便地獲取各種對象的長度。在使用時要注意不同對象類型的定義方式和長度計算方式,避免出現錯誤。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309011.html