说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 的内置函数 list() 可以创建一个列表,列表是一个 Python 内置的可变序列。虽然被称为函数,list 实际上是一种可变序列的类型。
以下是一些简单的使用示例:
list() # 空列表
# []
list((1, 2, 3) ) # 元组
# [1, 2, 3]
list('abc') # 字符串
# ['a', 'b', 'c']
list(range(3)) # range 对象
# [0, 1, 2]
list({'a', 'e', 'i', 'o', 'u'}) # 集合
# ['a', 'e', 'o', 'i', 'u']
list(b'python') # 字节串
# [112, 121, 116, 104, 111, 110]
# 从迭代器
iter('abc')
# <str_iterator at 0x7f9dd9c48a30>
list(iter('abc'))
# ['a', 'b', 'c']
关于列表,可以访问教程:Python 列表。
语法为:
list(iterable=(), /)
如果没有给出参数,构造函数将创建一个新的空列表。如果指定,参数必须是可迭代(iterable)的。
此构造器将构造一个列表,其中的项与 iterable 中的项具有相同的的值与顺序。 iterable 可以是序列、支持迭代的容器或其它可迭代对象。 如果 iterable 已经是一个列表,将创建并返回其副本,类似于 iterable[:]
。
例如,list('abc')
返回 ['a', 'b', 'c']
而 list( (1, 2, 3) )
返回 [1, 2, 3]
。 如果没有给出参数,构造器将创建一个空列表 []。
从迭代器对象创建列表
# 此类的对象是迭代器
class PowTwo:
def __init__(self, max):
self.max = max
def __iter__(self):
self.num = 0
return self
def __next__(self):
if(self.num >= self.max):
raise StopIteration
result = 2 ** self.num
self.num += 1
return result
pow_two = PowTwo(5)
pow_two_iter = iter(pow_two)
list(pow_two_iter)
# [1, 2, 4, 8, 16]
list 没有特殊方法,如果要实现 tuple 的行为,可以实现 __iter__()
,即 list(i for i in obj)
,例如,pandas 的 DataFrame,实现了 __iter__()
迭代列名,因此 list(df)
得到提一个列名为元素的元组。
更新时间:March 6, 2024, 9:21 a.m. 标签:python list 列表