#列表推导式 #输出也是列表 #格式一:【表达式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}