列表推导式汇总

#列表推导式
#输出也是列表
#格式一:【表达式for 变量 in 旧列表】
list1=[[7,8,9],[4,5,6],[1,2,3],[10,11,12]]
new_list=[D[0] for D in list1]
print(new_list)
#输出【7,4,1,10】

#格式二:[表达式 for 变量 in 旧列表 if 条件]
#将旧列表里的纯字母元素提取出来,创建新的列表
list2=['Hello', 'World', 18,'Apple', None]
new_list1=[k for k in list2 if isinstance(k,str)]
print(new_list1)
#输出['Hello', 'World', 'Apple']

#格式三:[结果A if 条件 else 结果B for 变量 in 旧列表]
#如果元素大于20则除以2,如果小于20 则乘以2
list3=[1,2,4,32,56,43,42,12,34]
new_list2=[i//2 if i >20 else i *2 for i in list3]
print(new_list2)
#输出:[2, 4, 8, 16, 28, 21, 21, 24, 17]

#集合推导式
#格式:{表达式 for 变量 in 列表}
#类似于列表推导式,在列表推导式的基础上添加了一个去重的功能
#集合推导式 类似于列表推导式,在列表推导式的基础上增加了一个去重功能
list4=[1,2,3,3,2,3,5,6,8,11,12,11,10]
set={x-1 for x in  list4 if x>5}
print(set)
#输出:{5, 7, 9, 10, 11}

你可能感兴趣的:(python)