Python基础语法【3】—— 结构数据类型之集合





集合概念:
  Python语言中结构数据类型有很多种,常见的就是集合类型,列表类型,元组类型和字典类型

  集合是一个无序不重复元素的集合。它的主要功能是自动清除重复的元素。即集合中的元素是唯一的,不重复的。
  创建集合时用大括号{}来包含其元素,相邻元素之间用逗号分隔,集合中元素个数没有限制

1.创建set集合的方法

①使用{}创建集合

语法格式:

setname = {element1,element2...elementn}


例1:

sets = {1, 2, 'w', "asd"}
print(sets)

运行结果:
在这里插入图片描述
  set集合是无序的,所以每一次输出结果的顺序都会不一样



②使用set()函数创建集合
  set()函数功能是将字符串,列表,元组,range 等可迭代对象转换成集合
语法格式:

setname = set(iteration)

例2:

set1 = set("hello word!")
set2 = set([1, 2, 3, 4, 5])
set3 = set((1, 2, 3, 4, 5))
print("set1:", set1)
print("set2:", set2)
print("set3:", set3)

运行结果:
在这里插入图片描述

2.访问set集合元素

  由于集合内元素是无序的,所以不能用下标去访问,所以采用的方法是使用循环结构逐个将集合中的元素读取出来

例1:

a = {1, 'c', (1, 2)}
for element in a:
    print(element, end=' ')

运行结果:
在这里插入图片描述


3.添加元素到set集合

  使用 set 类型提供的 add() 方法实现向集合中添加元素的操作

语法格式:

setname.add(element)


例1:

x = {1, 2, 3, 4, 5}
x.add("hello")
print(x)

运行结果:
在这里插入图片描述

例2:

x = {1, 2, 3, 4, 5}
x.add([1, 2])
print(x)

运行结果:
在这里插入图片描述

  注意:使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误



4.从set集合中删除元素

  删除现有 set 集合中的指定元素,可以使用 remove() 方法或者discard()方法
语法结构:

setname.remove(element)
setname.discard(element)


例1(删除集合中存在的元素):

x = {1, 2, 3, 4, 5}
x.remove(1)
print(x)

运行结果:
在这里插入图片描述

例2(删除集合中不存在的元素):

x = {1, 2, 3, 4, 5}
x.remove(6)
print(x)

运行结果:
在这里插入图片描述
  discard()方法和remove()方法唯一的区别就在于,discard()如果删除了一个不存在的集合中的元素,是不会报错的




5.set集合作交集,并集,差集


如下有两个集合,set1和set2
set1 = {1,2,3,4,5}
set2 = {4,5,6,7}
两个集合中既有相同的元素,又有不同的元素
在这里插入图片描述

①两个集合作交集(&)

就是取两个集合公共的元素

例1

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1&set2)

运行结果:
在这里插入图片描述

②两个集合作并集(|)

取两个集合全部的元素

例2:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1|set2)

运行结果:
在这里插入图片描述

③两个集合作差集(-)

取一个集合中另一集合没有的元素

例3:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1-set2)

运行结果:
在这里插入图片描述


④两个集合作对称差集(^)

取集合 A 和 B 中不属于 A&B 的元素

例4:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7}
print(set1^set2)

运行结果:
在这里插入图片描述


6.set集合的常用方法
方法名称功能
add()向集合中添加元素 (数字、字符串、元组或者布尔类型)
clear()清空集合中所有的元素
copy()拷贝一个集合给另一个集合
discard()删除集合中的元素
remove()删除集合中的元素
pop()取集合中的一个元素
union()取两个集合的并集
intersection()取两个集合的交集
update()添加列表或者集合中的元素到指定集合中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值