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

Posted ericblog1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于Python 集合的各种操作 数学运算 关系操作 增删改查 生成式的主要内容,如果未能解决你的问题,请参考以下文章

Python学习篇 Python中的集合

Python之集合

关系数据库

Python集合(set)类型的操作

Python集合(set)类型的操作

Python 集合set概念和操作