推导式

推导式

一、列表推导式

  • 写点:[结果 for 变量 in 可迭代对象 if 判断]
lst = [i for i in range(1, 20) if i % 2 == 0]
print(lst) # [2, 4, 6, 8, 10, 12, 14, 16, 18]

二、字典推导式

  • 写法:[结果 for 变量 in 可迭代对象 if 判断]
lst = [11, 22, 33]
dic = {i: lst[i] for i in range(len(lst))}
print(dic)  # {0: 11, 1: 22, 2: 33}

三、集合推导式

  • 写法:[结果 for 变量 in 可迭代对象 if 判断]
lst = [1, 8, 33, 44, -1, -8, 12]
s = {abs(i) for i in lst}
print(s)  # {1, 33, 8, 44, 12}

结论:

  • 推导式比较耗内存。一次加载。而生成器表达式几乎不占用内存。使用的时候才分配和使用内存。
posted @ 2018-11-01 21:40  Ethan_Y  阅读(306)  评论(0编辑  收藏  举报