python集合

python集合

集合(set)是一个无序的不重复元素序列。集合中放的元素不需要类型相同。

1 创建集合

可以使用大括号 { } 或者 set() 函数创建集合。

创建格式:parame = {value01,value02,…} 或者 set(value)

集合创建过程中会去重。

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

例如:

fruit = {'apple', 'orange', 'apple', 'pear', 'orange'}
print(fruit) # 集合创建过程中会去重

set = {'apple', 'pear', 'orange', 3.0, 5}
print(set) # 集合中放的元素不需要类型相同
{'apple', 'pear', 'orange'}
{3.0, 5, 'pear', 'apple', 'orange'}

2 添加元素

1、使用add方法添加

添加元素到结合使用add方法。将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。例如:

set = {'apple', 'pear', 'orange'}
set.add("apple")
print(set)
set.add("cherry")
print(set)
{'apple', 'pear', 'orange'}
{'apple', 'pear', 'cherry', 'orange'}
2、使用update方法添加

update方法也可以添加元素,且参数可以是列表,元组,字典等,语法格式为:set.update(x)

x 可以有多个,用逗号分开.

例如:

set = {0, "a", "b", "c"}

set.update("h")
print(set)

set.update("y", "z")
print(set)

set.update({"d", "e", "f"})
print(set)
{0, 'b', 'h', 'c', 'a'}
{0, 'y', 'b', 'h', 'c', 'z', 'a'}
{0, 'e', 'f', 'y', 'b', 'd', 'h', 'c', 'z', 'a'}

3 移除元素

移除元素可以使用remove方法,也可以使用discard方法,还可以使用pop方法随机移除元素。

语法格式分别为:set.remove(x), set.discard(x), set.pop()。

注意:

1、remove方法移除元素,如果元素不存在,则会发生错误。

2、discard方法移除元素,如果元素不存在,不会发生错误。

3、set集合的pop方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

例如:

set = {0, "a", "b", "c", "d", "e", "f"}

set.remove("f")
print(set)

set.discard(0)
print(set)

set.pop()
print(set)

# 移除不存在的元素
set.discard("hello") # 未报错
set.remove("helo") # 报错
{0, 'e', 'b', 'd', 'c', 'a'}
{'e', 'b', 'd', 'c', 'a'}
{'b', 'd', 'c', 'a'}



---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-31-76c2516655f7> in <module>
     12 # 移除不存在的元素
     13 set.discard("hello") # 未报错
---> 14 set.remove("helo") # 报错


KeyError: 'helo'

4 计算元素个数

计算元素个数用len方法,语法格式为:len(set)。例如:

set = {0, "a", "b", "c", "d", "e", "f"}
print(len(set))
7

5 清空集合

清空集合用clear方法,语法格式为:set.clear()。例如:

set = {0, "a", "b", "c", "d", "e", "f"}
set.clear()
print(set)
set()

6 判断元素是否在集合中

判断元素是否在集合中可以用 in 或 not in。

in:如果元素在集合中就返回True,元素不在集合中,则返回False。

not in:与in正好相反。如果元素不在集合中,则返回True,如果元素在集合中,则返回False。

set = {0, "a", "b", "c", "d", "e", "f"}
print(0 in set)
print(2 in set)

print("a" not in set)
print("y" not in set)
True
False
False
True

7 集合内置方法完整列表

1、add():为集合添加元素

2、clear():移除集合中的所有元素

3、copy():拷贝一个集合

4、difference():返回多个集合的差集

5、difference_update():移除集合中的元素,该元素在指定的集合也存在。

6、discard():删除集合中指定的元素

7、intersection():返回集合的交集

8、intersection_update():返回集合的交集。

9、isdisjoint():判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

10、issubset():判断指定集合是否为该方法参数集合的子集。

11、issuperset():判断该方法的参数集合是否为指定集合的子集

12、pop():随机移除元素

13、remove():移除指定元素

14、symmetric_difference():返回两个集合中不重复的元素集合。

15、symmetric_difference_update():移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

16、union():返回两个集合的并集

17、update():给集合添加元素

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值