列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]
字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key:value
集合推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key 自带去重功能
列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层
生成一个存放1-100中个位数为3的数据列表
普通写法
#生成一个存放1-100中个位数为3的数据列
可迭代对象去重(保持顺序不变)
def filter_multi(items,key=None):
可迭代对象去重(保持顺序不变)
[1,4,7,2,4,7,3,5] ==> [1,4,7,2,3,5]
its = list()
for x in items:
val = x if key is None else key(x)
if val not in its:
yield val
its.append(val)
#如:
print list(filter_