Python 內(nèi)建函數(shù)列表 > Python 的內(nèi)置函數(shù) list
Python 的內(nèi)置函數(shù) list() 是用于創(chuàng)建列表對象的構(gòu)造函數(shù),它是 Python 中最常用的數(shù)據(jù)結(jié)構(gòu)之一。
def list(x=None):
'''
類型轉(zhuǎn)換為 list
:param x: 一個(gè)變量
:return: 轉(zhuǎn)換為 list 后的值
'''
詳細(xì)功能說明
-
創(chuàng)建空列表:
- 最簡單用法是不帶任何參數(shù)調(diào)用
list() - 示例:
my_list = list()創(chuàng)建一個(gè)空列表,等同于my_list = []
- 最簡單用法是不帶任何參數(shù)調(diào)用
-
從可迭代對象創(chuàng)建列表:
- 可以接受任何可迭代對象作為參數(shù)(字符串、元組、字典、集合等)
- 示例:
list("hello")返回['h', 'e', 'l', 'l', 'o'] - 示例:
list((1,2,3))返回[1, 2, 3] - 示例:
list({'a':1, 'b':2})返回['a', 'b']
-
類型轉(zhuǎn)換:
- 常用于將其他序列類型轉(zhuǎn)換為列表
- 在處理字符串時(shí)特別有用,可以方便地進(jìn)行字符級操作
-
對象方法:
- 創(chuàng)建的列表對象具有豐富的內(nèi)置方法:
-
append(),extend()- 添加元素 -
pop(),remove()- 刪除元素 -
sort(),reverse()- 排序操作 -
index(),count()- 查詢操作
-
- 創(chuàng)建的列表對象具有豐富的內(nèi)置方法:
實(shí)際應(yīng)用場景
-
數(shù)據(jù)處理:
- 將字符串轉(zhuǎn)換為字符列表進(jìn)行文本處理
- 將生成器對象轉(zhuǎn)換為可多次遍歷的列表
-
API開發(fā):
- 將數(shù)據(jù)庫查詢結(jié)果(通常是元組)轉(zhuǎn)換為更易操作的列表
-
算法實(shí)現(xiàn):
- 將其他數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為列表以利用列表的各種方法
注意事項(xiàng)
-
list()是淺拷貝操作,對新列表元素的修改可能會(huì)影響原可迭代對象 - 對于大型數(shù)據(jù),直接使用列表推導(dǎo)式可能比
list()更高效 - Python 3 中
list()不再支持多個(gè)參數(shù),必須傳入單個(gè)可迭代對象
性能特點(diǎn)
- 時(shí)間復(fù)雜度:O(n),n 是可迭代對象的長度
- 空間復(fù)雜度:O(n),需要為新列表分配內(nèi)存
代碼示例
# 創(chuàng)建不同類型的列表
empty = list()
chars = list("Python")
numbers = list(range(5))
mixed = list([1, "a", True])
# 字典轉(zhuǎn)換示例
dict_to_list = list({'name': 'Alice', 'age': 25}) # ['name', 'age']
# 與列表推導(dǎo)式對比
squares1 = list(map(lambda x: x**2, range(10)))
squares2 = [x**2 for x in range(10)] # 更推薦的方式