"""
集合 set
定义:
1.由一系列不重复的不可变类型变量组成的可变映射容器
2.相当于只有键没有值的字典(键则是集合的数据)
基础操作:
创建空集合:
集合名 = set()
集合名 = set(可迭代对象)
创建具有默认值集合:
集合名 = {1, 2, 3}
集合名 = set(可迭代对象)
添加元素:
集合名.add(元素)
删除元素:
集合名.discard(元素)
"""
# 1. 创建集合 set01 = set() # set --> str set01 = set("abcac") list01 = list(set01) str01 = "".join(list01) # 列表变字符串 print(str01) # cba # 创建有默认值的集合 set02 = {"a", "b", "a"} print(set02) # 2.添加元素 set02.add("qtx") # 3.删除元素 set02.remove("a") print(set02) # 4.获取所有元素 for item in set02: print(item) # 5.数学运算 set01 = {1, 2, 3} set02 = {2, 3, 4} # 交集 print(set01 & set02) # {2, 3} # 并集 print(set01 | set02) # {1, 2, 3, 4} # 补集 print(set01 ^ set02) # {1, 4} print(set01 - set02) # {1} print(set02 - set01) # {4} # 子集 set03 = {1, 2} print(set03 < set01) # True # 超集 print(set01 > set03) # True
练习:
# 练习1:
# 在控制台中循环录入字符串,输入空字符串停止
# 打印所有不重复的文字
set_result = set() while True: str_input = input("请输入:") if str_input == "": break set_result.add(str_input) print(set_result)
# 练习2:
# 经理:曹操,刘备,孙权
# 技术:曹操,刘备,张飞,关羽
# 请计算:
# 1.是经理也是技术的有谁?
# 2.是经理不是技术的有谁?
# 3.是技术,不是经理的有谁?
# 4.张飞是经理吗?
# 5.身兼一职的都有谁?
# 6.经理和技术总共有多少人?
set01 = {"曹操", "刘备", "孙权"} set02 = {"曹操", "刘备", "张飞", "关羽"} # 1.是经理也是技术的有谁? print(set01 & set02) # 2.是经理不是技术的有谁? print(set01 - set02) # 3.是技术,不是经理的有谁? print(set02 - set01) # 4.张飞是经理吗? print("张飞" in set01) # 5.身兼一职的都有谁? print(set01 ^ set02) # 6.经理和技术总共有多少人? print(len(set01 | set02))
"""
固定集合 frozenset
定义:不可变的集合
作用:固定集合可以作为字典的键,还可以作为集合的值
运算: 等同与set
"""
set01 = frozenset([1, 2, 3, 4]) list02 = list(set01) print(set01) print(list02)
标签:set,set01,入门,set02,python,经理,print,集合 From: https://www.cnblogs.com/Remick/p/17111788.html