首页 > 编程语言 >python入门之集合&固定集合

python入门之集合&固定集合

时间:2023-02-11 15:46:35浏览次数:55  
标签:set set01 入门 set02 python 经理 print 集合

"""
集合 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

相关文章