Python基础学习—集合

一、什么是集合

集合是无序和无索引的集合。在 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循环遍历集合内容

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值