标签:获取 iterable 自然数 数据排列 区别 统一 声明 app ons
列表是python中的一种组合数据类型
需要在一个变量中统一整理存储多个可以重复数据的情况下
可以统一管理多个数据
列表的声明
a = list()
a = []
增删改查【遍历】
insert 指定位置增加一个数据
append 末尾追加一个数据
extend 拼接两个列表
pop 如果没有指定下标,则默认会删除最后一个元素
remove 指定删除某个数据
clear 清空所有数据
index 列表数据的索引
del 根据索引删除数据
reverse 列表反转
sort 按照ascii码对列表进行排序
列表中直接存储数据,但是如果列表中的数据较多的话,可能会比较消耗内存【列表数据项较多、内存消耗较多】
my_list = [x for x in range(0, 1000)]
生成一个包含0~999自然数序列的列表
my_list = [x**2 for x in range(0, 100)]
生成一个包含0~99平方序列的列表
my_list = [x for x in range(0, 100) if x % 2 == 0]
my_list = [x + y for x in range(0, 5) for y in range(0, 10)]
生成一个0~4,和0~9二维数据排列相加的和的列表
生成器语法结构和推导式语法结构及其类似
一个基本生成器:生成一个0~10自然数序列的数据
my_generator = (x for x in range(0, 10))
直接展示就是一个生成器对象
生成器对象必须通过系统内奸函数next()来获取生成器下一个数据
生成器的优异性能在于使用的时候才会运算下一个数据,而不会一次将数据全部加载
在程序中,我们经常会遇到这样一些对象,通过for循环可以直接循环迭代
python中提供了一个工具对象:迭代器对象collections.Iterable
该对象的__iter__()
函数可以得到一个可迭代对象:collections.Iterator
list只是一个类型,所以既不是迭代器对象,也不是可迭代对象
一个具体存在的 list对象是迭代器对象,可以被for循环操作,操作过程中会产生可迭代对象,对迭代的数据进行索引
next()/__next__()
来获取数据,和数据量大小无关生成器主要时定义了一个数据的生成规则,通过运行时算法得到类似列表数据的一种特殊对象
迭代器是用于循环遍历可迭代数据的一个特殊对象,包含了迭代对象和迭代过程
联系:生成器对象就是一种可迭代对象,可以被迭代器遍历。
标签:获取 iterable 自然数 数据排列 区别 统一 声明 app ons
原文地址:https://www.cnblogs.com/chenliang0309/p/9804358.html