1.列表生成的格式:
[存放于列表中的元素 元素的来源 元素筛选判定]
例子: list0 = [" ", "\nabc", "\t", "hello"] #在list0的基础上 快速的生成一个列表 列表的存放的元素是非空白序列 #如何判断一个序列是空白字符序列 ---> 按照空白进行切割 列表的长度为0 # 去除字符序列两端空白 strip() ---> 按照空白区去除两端的内容 如果最终剩下的是空序列 res1 = [item for item in list0 if len(item.split()) != 0] print(res1) res = [item for item in list0 if len(item.strip()) != 0] print(res)
''' 练习 list0 = ["Jack", "Lucy", 77, 63, "Tom"] 数据来源于list0 生成一个只包含字符串的列表 '''#[列表中的元素 列表元素的来源 元素进行筛选] list2 = [item for item in list0 if isinstance(item, str)] print(list2) ''' 一个列表list0中全部都是字符串 生成一个包含字符串列表 字符串长度 >= 5 ''' list0 = ["hello", "nice", "look at", "inner", "out"] list2 = [item for item in list0 if len(item) >= 5] print(list2)
2.字典生成式
''' dict0 = {"英语":66, "数学":78, "政治":42, "语文":59} 去除掉字典中value < 60的数据 ''' dict1 = {k:v for k, v in dict0.items() if v >= 60} print(dict1) ''' 练习: 将二维列表中的数据 以键值对形式存于字典中 ''' list0 = [[12, 34], [34, 56]] dict2 = {} for k, v in list0: # k, v = [12, 34] dict2[k] = v print(dict2) dict3 = {k:v for k, v in list0} print(dict3) ''' dict0 = {"A":"a", "B": "b "} 利用字典生成式 将kv颠倒 {"a":"A", "b": "B"} ''' dict0 = {"A":"a", "B": "b "} dict4 = {} for k, v in dict0.items(): print(k, v) dict4[v] = k print(dict4) dict5 = {v:k for k, v in dict0.items()} print(dict5)