Python 集合的各种操作 数学运算 关系操作 增删改查 生成式

# 集合是无序的 是可变的 不能重复   允许数学运算  分散存储

# 创建
# collegel = {'哲学','经济学','法学','教育学'}
#
# # {'教育学', '经济学', '法学', '哲学'}
# print(collegel)
#
# # set
# collegel2 = set(['金融学','哲学','经济学','法学','教育学'])
# print(collegel2)
#
# # 使用set创建字符串集合
# collegel3 = set('中华人民共和国')
# # {'共', '华', '和', '中', '人', '民', '国'}
# print(collegel3)
#
# # 空集合的创建
# collegel4 = set();
# print(collegel4)

# 数学运算
# 交集
# collegel = {'哲学','经济学','法学','教育学','文学'}
# collegel2 = set(['金融学','哲学','经济学','法学','教育学'])

# 新集合
# college3 = collegel.intersection(collegel2)
# # {'哲学', '法学', '教育学', '经济学'}
# print(college3)
# # 原有集合
# collegel.intersection_update(collegel2)
# # {'哲学', '经济学', '教育学', '法学'}
# print(collegel)

# 并集
# college4 = collegel.union(collegel2)
# # {'法学', '金融学', '经济学', '哲学', '教育学'}
# print(college4)

# 差集
# college5 = collegel.difference(collegel2)
# # {'文学'}
# print(college5)

# 双向差集
# collegel6 = collegel.symmetric_difference(collegel2)
# # # {'文学', '金融学'}
# # print(collegel6)


# 关系操作
# s1 = {1,2,3,4,5,6}
# s2 = {6,5,4,3,2,1}
#
# # True 判断是否相等
# print(s1 == s2)
# s3 = {4,5,6,7}
# s4 = {1,2,3,4,5,6,7,8,9}
# # s3 是否是 s4 的子集 True
# print(s3.issubset(s4))
# # s4 是否是 s3 的父集 True
# print(s4.issuperset(s3))

# s5 = {5}
# s6 = {1,3,5,7,9}
# # 判断两个集合是否存在重复元素 False存在 True 不存在
# # False
# print(s5.isdisjoint(s6))


# 集合 增删改查
# collegel = {'哲学','经济学','法学','教育学','文学'}
# for i in collegel:
# print(i)

# 判断元素是否在集合中 True
# print('哲学' in collegel)

# 新增 add 一次只能添加一个元素
# {'教育学', '法学', '计算机学', '哲学', '文学', '经济学'}
# collegel.add('计算机学')
# print(collegel)

# update 一次添加多个元素
# collegel.update(['生物学','工程学'])
# # {'哲学', '文学', '生物学', '教育学', '经济学', '法学', '工程学'}
# print(collegel)


# 删除 如果删除不存在的会报错
# collegel.remove('文学')
# # {'法学', '经济学', '教育学', '哲学'}
# print(collegel)

# 删除 如果不存在 则会忽略
# collegel.discard('生物')
# # {'法学', '哲学', '教育学', '经济学', '文学'}
# print(collegel)


# 内置生成式
# 生成式语法: [被追加的语句 循环语句 或者判断语句] | {}
# 列表的生成式
lst1 = []
for i in range(10,20):
lst1.append(i * 10)
# [100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
print(lst1)
lst2 = [i * 10 for i in range(10,20)]
# [100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
print(lst2)

lst3 = [i * 10 for i in range(10,20) if i % 2 == 0]
# [100, 120, 140, 160, 180]
print(lst3)

# 字典生成式
lst5 = ['张三','李四','王五']
dict1 = { i+1:lst5[i] for i in range(0, len(lst5))}
# {1: '张三', 2: '李四', 3: '王五'}
print(dict1)

# 集合生成式
set1 = {i*j for i in range(1,4) for j in range(1,4) if i == j }
{1, 4, 9}
print(set1)
原文地址:https://www.cnblogs.com/ericblog1992/p/11273488.html