Files
2025PY/day23/01-集合推导式的案例.py
2025-05-22 16:50:44 +08:00

33 lines
997 B
Python

'''
案例:
满足年龄在18到21,存款大于等于5000,小于等于5500的人
开卡格式为:尊贵VIP卡老X(姓氏),
否则开卡格式为:抠脚大汉老X(姓氏)
把开卡的种类统计出来
'''
list = [
{"name": "刘鑫炜", "age": 18, "money": 10000},
{"name": "刘聪", "age": 19, "money": 5100},
{"name": "刘子豪", "age": 20, "money": 4800},
{"name": "孔祥群", "age": 21, "money": 2000},
{"name": "宋云杰", "age": 18, "money": 20}
]
# s1 = set() # 创建一个空的集合
# for item in list:
# if 18<=item['age']<=21 and 5000<=item['money']<=5500:
# s1.add('尊贵VIP卡老'+item['name'][0])
# else:
# s1.add('抠脚大汉老'+item['name'][0])
# print(s1) # {'抠脚大汉老孔', '尊贵VIP卡老刘', '抠脚大汉老宋', '抠脚大汉老刘'}
# 推导式实现
print({'尊贵VIP卡老'+item['name'][0] if 18<=item['age']<=21 and 5000<=item['money']<=5500 else '抠脚大汉老'+item['name'][0] for item in list})