lst = [1,5,78,12,16] # 计算每个数字的平方
print([i **2 for i in lst])
m = map(lambda i: i ** 2, lst)
print(list(m))
filter 过滤
lst = ["张无忌", "张翠山", "范冰冰", "金毛狮王", "李冰冰"]
# 过滤掉姓张的人
# 把可迭代对象打开. 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留
f = filter(lambda name : not name.startswith("张"), lst)
print("__iter__" in dir(f)) # 可迭代对象
for el in f:
print(el)
lst = [
{"name":"alex", "shengao":150, "tizhong":250},
{"name":"wusir", "shengao":158, "tizhong":150},
{"name":"taibai", "shengao":177, "tizhong":130},
{"name":"ritian", "shengao":165, "tizhong":130},
{"name":"nvshen", "shengao":160, "tizhong":120},
{"name":"baolang", "shengao":183, "tizhong":190}
]
# 过滤掉体重大于180的人 想要的是 小于180
f = filter(lambda d : d['tizhong'] <= 180, lst)
print(list(f))