Python 内建函数列表 > Python 的内置函数 list
Python 的内置函数 list()
是用于创建列表对象的构造函数,它是 Python 中最常用的数据结构之一。
def list(x=None):
'''
类型转换为 list
:param x: 一个变量
:return: 转换为 list 后的值
'''
详细功能说明
-
创建空列表:
- 最简单用法是不带任何参数调用
list()
- 示例:
my_list = list()
创建一个空列表,等同于my_list = []
- 最简单用法是不带任何参数调用
-
从可迭代对象创建列表:
- 可以接受任何可迭代对象作为参数(字符串、元组、字典、集合等)
- 示例:
list("hello")
返回['h', 'e', 'l', 'l', 'o']
- 示例:
list((1,2,3))
返回[1, 2, 3]
- 示例:
list({'a':1, 'b':2})
返回['a', 'b']
-
类型转换:
- 常用于将其他序列类型转换为列表
- 在处理字符串时特别有用,可以方便地进行字符级操作
-
对象方法:
- 创建的列表对象具有丰富的内置方法:
append()
,extend()
- 添加元素pop()
,remove()
- 删除元素sort()
,reverse()
- 排序操作index()
,count()
- 查询操作
- 创建的列表对象具有丰富的内置方法:
实际应用场景
-
数据处理:
- 将字符串转换为字符列表进行文本处理
- 将生成器对象转换为可多次遍历的列表
-
API开发:
- 将数据库查询结果(通常是元组)转换为更易操作的列表
-
算法实现:
- 将其他数据结构转换为列表以利用列表的各种方法
注意事项
list()
是浅拷贝操作,对新列表元素的修改可能会影响原可迭代对象- 对于大型数据,直接使用列表推导式可能比
list()
更高效 - Python 3 中
list()
不再支持多个参数,必须传入单个可迭代对象
性能特点
- 时间复杂度:O(n),n 是可迭代对象的长度
- 空间复杂度:O(n),需要为新列表分配内存
代码示例
# 创建不同类型的列表
empty = list()
chars = list("Python")
numbers = list(range(5))
mixed = list([1, "a", True])
# 字典转换示例
dict_to_list = list({'name': 'Alice', 'age': 25}) # ['name', 'age']
# 与列表推导式对比
squares1 = list(map(lambda x: x**2, range(10)))
squares2 = [x**2 for x in range(10)] # 更推荐的方式