evens =[item for lst in lists for item in lst if item %2==0]print(evens)
多函数模式
# 处理字符串
str_lst =['$1.123',' $1123.454','$899.12312']defremove_space(str):"""
remove space
"""
str_no_space =str.replace(' ','')return str_no_space
defremove_dollar(str):"""
remove $
"""if'$'instr:returnstr.replace('$','')else:returnstrdefclean_str_lst(str_lst, operations):"""
clean string list
"""
result =[]for item in str_lst:for op in operations:
item = op(item)
result.append(item)return result
clean_operations =[remove_space, remove_dollar]
result = clean_str_lst(str_lst, clean_operations)print(result)
匿名函数lambda
f =lambda x:x**2
f(2)
str_lst =['Welcome','to','Python','Data','Analysis','Course']
str_lst.sort(key=lambda x:len(x))# sort by lengthprint(str_lst)
str_lst.sort(key=lambda x:x[-1])# sort by the last letterprint(str_lst)