Python 列表生成式, 迭代器&生成器,Json&pickle数据序列化
1. 列表生成式
三种生成列表的方法:
a = [0, 1, 2, 3, 4, 5, 6] b = [] for i in a: b.append(i + 1) print(b) a = map(lambda x: x + 1, a) print(a) # 返回map对象 for i in a: print(i) a = [i + 1 for i in range(10)] print(a)
2. 生成器与迭代器
列表的容量有限,并且当我们只用到列表的前几个元素是,列表就会出现占用了太多的内存空间
1. 生成器的产生方法:
m = (i*i for i in range(10)) print(m.__next__()) print(m.__next__()) print(m.__next__()) print(m.__next__()) print(next(m)) # 与上式的作用相同 print(next(m))
2. 生成器的遍历
m = (i*i for i in range(10)) while True: try: x = next(m) print('f:', x) except StopIteration as e: print('generator return value:', e.value) break