列表生成式和列表生成器的区别

列表生成式:会将所有的结果全部计算出来,把结果存放到内存中,如果列表中数据比较多,会占用过多的内存空间,可能会导致MemoryError内存错误或者导致程序在运行时出现卡顿的情况

列表生成器:会创建一个列表生成器对象,不会一次性的把所有结果都计算出来,如果序号获取数据,可以使用next()函数来获取,但是需要注意,一旦next()函数获取不到数据,会导致出现StopIteration异常错误,可以使用for循环遍历生成器对象,获取所有数据
    
需要视情况而定,如果数据量比较大,推荐使用生成器

猜你喜欢

转载自www.cnblogs.com/banzui/p/9232310.html
今日推荐