加载中...

集合推导式

集合推导式

集合推导式是一种简洁的构造集合的方式。它的语法和列表推导式类似,只不过结果是一个集合,而不是列表。

以下是一个示例,其中我们要根据一组人的年龄和存款量来决定给他们发放哪种类型的卡。我们要统计所有可能的卡类型。

lst = [
    {"name":"赵沈阳","age":18,"money":3000},
    {"name":"赵万里","age":19,"money":5200},
    {"name":"赵蜂拥","age":20,"money":100000},
    {"name":"赵世超","age":21,"money":1000},
    {"name":"王志国","age":18,"money":5500},
    {"name":"王永飞","age":99,"money":5500}
]

我们可以使用循环和条件判断来统计卡类型:

setvar = set()
for i in lst:
    if 18 <= i["age"] <= 21 and 5000 <= i["money"] <= 5500:
        res = "尊贵VIP卡老{}".format(i["name"][0])
    else:
        res = "抠脚大汉卡老{}".format(i["name"][0])
    setvar.add(res)
print(setvar)

或者,我们可以使用集合推导式来简化这个过程:

setvar = { "尊贵VIP卡老{}".format(i["name"][0]) if 18 <= i["age"] <= 21 and 5000 <= i["money"] <= 5500 else "抠脚大汉卡老{}".format(i["name"][0]) for i in lst }
print(setvar)

在这个例子中,我们使用了三元运算符来根据条件选择卡的类型,然后使用集合推导式来构造结果集合。

posted @ 2024-03-03 19:25  江寒雨  阅读(26)  评论(0)    收藏  举报