概述
一、什么是集合
集合是无序和无索引的集合。在 Python 中,集合用花括号编写。集合具备不支持元素重复(自动去重),且集合内元素无序排列特点。所以集合是不支持下标索引访问的。
二、集合的定义
# 定义集合字面量
{元素1,元素2,元素3,…,元素n}
# 定义集合
变量名称 = {元素1,元素2,元素3,…,元素n}
# 定义空集合
变量名称 = set()
# 定义集合
set1 = {1,2,3,4,5}
# 定义空集合
empty_set = set()
三、集合的基础操作
1、定义集合
my_set = {1,2,3,4,5,5,100,1}
my_empty_set = set()
print(f"my_set的内容是:{my_set},my_set的数据类型是:{type(my_set)}.")
print(f"my_empty_set的内容是:{my_empty_set},my_empty_set的数据类型是:{type(my_empty_set)}.")
print 输出集合内容:
my_set的内容是:{1, 2, 3, 4, 5, 100},my_set的数据类型是:<class ‘set’>.
my_empty_set的内容是:set(),my_empty_set的数据类型是:<class ‘set’>.
因为集合内元素是无序不重复排列的,所以my_set中重复的元素会自动去重处理。
2、添加新元素
my_set = {1,2,3,4,5}
my_set.add("test")
print(f"my_set的内容是:{my_set},my_set的数据类型是:{type(my_set)}.")
print 输出集合内容:
my_set的内容是:{1, 2, 3, 4, 5, 100, ‘test’},my_set的数据类型是:<class ‘set’>.
3、移除集合元素
my_set = {1,2,3,4,5}
my_set.remove(1)
print(f"my_set的内容是:{my_set},my_set的数据类型是:{type(my_set)}.")
print 输出集合内容:
my_set的内容是:{2, 3, 4, 5},my_set的数据类型是:<class ‘set’>.
假设集合中不存在该元素,则移除时会程序异常。
4、随机取出一个元素
my_set = {1,2,3,4,5}
element = my_set.pop()
print(f"取出元素element内容是:{element },取出元素element数据类型是:{type(element )}.")
print(f"my_set的内容是:{my_set},my_set的数据类型是:{type(my_set)}.")
print 输出取出元素:
取出元素element内容是:1,取出元素element数据类型是:<class ‘int’>.
my_set的内容是:{2, 3, 4, 5},my_set的数据类型是:<class ‘set’>.
如果是空集合,则取出空集合元素,程序会抛异常。
5、清空集合
my_set = {1,2,3,4,5}
my_set.clear()
print(f"my_set的内容是:{my_set},my_set的数据类型是:{type(my_set)}.")
print 输出集合内容:
my_set的内容是:set(),my_set的数据类型是:<class ‘set’>.
6、取集合差集
set1 = {1,2,3}
set2 = {1,4,6}
# 取出集合1和集合1的差集,即取出集合1中有但集合2中没有的的元素
set3 = set1.difference(set2)
print(f"set1的内容是:{set1},set1的数据类型是:{type(set1)}.")
print(f"set2的内容是:{set2},set2的数据类型是:{type(set2)}.")
print(f"set3的内容是:{set3},set3的数据类型是:{type(set3)}.")
print 输出集合内容:
set1的内容是:{1, 2, 3},set1的数据类型是:<class ‘set’>.
set2的内容是:{1, 4, 6},set2的数据类型是:<class ‘set’>.
set3的内容是:{2, 3},set3的数据类型是:<class ‘set’>.
取两个集合的差集,会得到一个新的集合,且两个集合的内容不会发生变化。
7、取消集合差集
set1 = {1,2,3}
set2 = {1,4,6}
# 消除集合1和集合2中相同的元素,并更新集合1
set3 = set1.difference_update(set2)
print(f"set1的内容是:{set1},set1的数据类型是:{type(set1)}.")
print(f"set2的内容是:{set2},set2的数据类型是:{type(set2)}.")
print(f"set3的内容是:{set3},set3的数据类型是:{type(set3)}.")
print 输出集合内容:
set1的内容是:{2, 3},set1的数据类型是:<class ‘set’>.
set2的内容是:{1, 4, 6},set2的数据类型是:<class ‘set’>.
set3的内容是:None,set3的数据类型是:<class ‘NoneType’>.
消除集合1和集合2中相同的元素,并更新集合1。消除集合差集方法,并不会有返回值。
8、集合合并
set1 = {1,2,3}
set2 = {1,2,4,6}
# 合并集合1和集合2,并对里面的元素做去重处理
set3 = set1.union(set2)
print(f"set1的内容是:{set1},set1的数据类型是:{type(set1)}.")
print(f"set2的内容是:{set2},set2的数据类型是:{type(set2)}.")
print(f"set3的内容是:{set3},set3的数据类型是:{type(set3)}.")
print 输出集合内容:
set1的内容是:{1, 2, 3},set1的数据类型是:<class ‘set’>.
set2的内容是:{1, 2, 4, 6},set2的数据类型是:<class ‘set’>.
set3的内容是:{1, 2, 3, 4, 6},set3的数据类型是:<class ‘set’>.
将集合1和集合2内容去重合并,并得到一个全新的集合。不会对集合1和集合2内容做修改。
9、统计集合元素
set1 = {1,2,3}
num = len(set1)
print(f"set1的元素数量是{num}")
print 输出集合内容:
set1的元素数量是3
集合、元组、列表等均可通过len()方法,统计元素数量。
10、集合遍历
set1 = {1,2,3,4,6,8}
for element in set1:
print(f"集合元素有:{element}")
print输出内容是:
集合元素有:1
集合元素有:2
集合元素有:3
集合元素有:4
集合元素有:6
集合元素有:8
四、集合总结
1、集合可以存储多个元素
2、集合中可以存储不同类型的元素
3、集合内元素是混装无序存储的
4、集合中不允许重复数据存在,会自动去重
5、集合中元素可以修改,支持新增、删除、查询
6、可以试用for循环遍历集合内容
最后
以上就是潇洒咖啡为你收集整理的Python基础学习—集合一、什么是集合二、集合的定义三、集合的基础操作四、集合总结的全部内容,希望文章能够帮你解决Python基础学习—集合一、什么是集合二、集合的定义三、集合的基础操作四、集合总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复