列表生成式与字典生成式的经典例子

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)

猜你喜欢

转载自www.cnblogs.com/wenqiangblog/p/9508285.html