-
列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]
-
字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key:value
-
集合推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key 自带去重功能
-
列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层
-
#生成一个存放1-100中个位数为3的数据列表
# 普通写法
#生成一个存放1-100中个位数为3的数据列表 # 普通写法 list =[] for i in range(1,101): if i % 10 == 3: list.append(i) print(list) #列表推导 list1=[i for i in range(1,101) if i % 10==3] print(list1)
#利用列表推到是将 列表中的整数提取出来[True, 33, ll", "kk", 44, 34, 0]
#利用列表推到是将 列表中的整数提取出来[True, 17, "hello", "bye", 98, 34, 21] values =[True, 33, "ll", "kk", 44, 34, 0] #type()校验数据类型 nums =[i for i in values if type(i) == int] print(nums)
# 字典推导式:把字典中的key:value互换, {"b":"a","d":"c"} dic = {"a":"b", "c":"d"} new_dic = {dic[key]:key for key in dic} # key值是里面的 key = a,key = c print(new_dic) # key = a,key = c dic[key] = b, d lst1 = ["唐人街探案","Q","5颗星","悬疑"] lst2 = ["电影", "第一", "评分", "类型"] dic = {lst2[i]:lst1[i] for i in range(len(lst1))} print(dic)
缺点:可读性差