list()
在 Python 中,list() 是一个内置函数,用于将其他可迭代对象转换为列表。它的工作机制会根据传入的参数类型而有所不同。以下是 list() 对不同参数的工作机制:
1. 无参数
如果 list() 不传入任何参数,它会返回一个空列表。
示例
empty_list = list()
print(empty_list) # 输出 []2. 可迭代对象
如果传入一个可迭代对象(如字符串、元组、集合、字典等),list() 会将其元素逐个添加到新列表中。
示例
# 字符串
print(list("hello")) # 输出 ['h', 'e', 'l', 'l', 'o']
# 元组
print(list((1, 2, 3))) # 输出 [1, 2, 3]
# 集合
print(list({1, 2, 3})) # 输出 [1, 2, 3](顺序可能不同)
# 字典(默认使用键)
print(list({"a": 1, "b": 2})) # 输出 ['a', 'b']3. 字典的键或值
如果传入字典,list() 默认使用字典的键。如果需要使用字典的值或键值对,可以结合字典的方法。
示例
4. 生成器或迭代器
如果传入一个生成器或迭代器,list() 会遍历其所有元素并添加到新列表中。
示例
5. 其他类型
如果传入其他类型的对象,list() 会尝试将其转换为列表。如果对象不可迭代,则会抛出 TypeError。
示例
6. 自定义可迭代对象
如果传入一个自定义可迭代对象,list() 会调用其 __iter__() 方法,并遍历其元素。
示例
总结
list() 的工作机制如下:
无参数:返回空列表。
可迭代对象:将其元素逐个添加到新列表中。
字典:默认使用字典的键,也可以使用值或键值对。
生成器或迭代器:遍历其所有元素并添加到新列表中。
其他类型:尝试转换为列表,失败则抛出
TypeError。自定义可迭代对象:调用其
__iter__()方法并遍历元素。
通过 list(),可以轻松地将各种可迭代对象转换为列表!
最后更新于
这有帮助吗?