Python内置函数set()的应用

本文介绍了Python集合(set)的基本概念,包括其无重复性特点,以及如何使用set()函数创建、添加、移除(remove/discard/pop)和清空元素。同时对比了set与字典(dict)的区别。
摘要由CSDN通过智能技术生成

一 、定义

集合(set)和python内置函数字典(dict)一样,都是由哈希表演变而来的;但是set与dict不同的是,set没有value,只有key,而dict既有value也有key;因此集合保留了key的特点,即无重复性。故集合(set)是一个无序的不重复元素序列

二 、运用

接下来说一下set()函数的简单运用

1、集合(set)的创建

set()函数可以使用set()或者{}创建,但是如果想要创建空集合,就只能使用set()创建,如果使用{}创建出来的是空字典。
下面分别以set()和{}为例创建集合:

a=set()             # 创建空集合
print(type(a))      # 返回变量类型 
b = {'people', 'dog', 'cat'}    # 用{}创建集合
print(b)

输出结果:

<class 'set'>
{'dog', 'people', 'cat'}

2、添加元素

set()函数使用add()和update()来添加元素,如果添加的元素在集合中已经存在,则不会执行任何操作,因为集合(set)具有无重复性。
下面给出add()代码示例:

a = set()
a.add('happy')
b = {'people', 'dog', 'cat'}   
b.add('dog')      # 重复的会被删掉
print(a)
print(b)

输出结果:

{'happy'}
{'cat', 'people', 'dog'}

update()顾名思义,是更新的意思,因此update()常常用来合并两个集合,去除重复值,成为一个新的集合;当然,update()也可以用来修改集合,添加数据,和add()用法类似。
下面给出update()代码示例:

x = {'people', 'dog', 'cat'}
y = {'cow', 'sheep', 'cat'}
x.update(y)         # 合并两个集合,相同的元素只保留一个
b = {'people', 'dog', 'cat'}
c = {'people', 'dog', 'cat'}
b.update({'cow'})   # 注意用update()添加元素的话必须用{}括起来
c.update('cow')     # 和上面对比可以发现,如果没有用{}括起来会被单个取出并随机放入集合
print(x)
print(b)
print(c)

输出结果:

{'cat', 'dog', 'people', 'sheep', 'cow'}
{'dog', 'people', 'cat', 'cow'}
{'cat', 'o', 'dog', 'c', 'people', 'w'}

3、移除元素

1、remove()方法
remove()方法用于移除集合中的指定元素。
代码示例:

x = {'people', 'dog', 'cat'}
x.remove('people')
print(x)

输出结果:

{'cat', 'dog'}

2、discard()方法
discard()方法也是用于移除集合中的指定元素。但是与remove()方法不同的是,discard()方法不会对指定移除集合中没有的元素报错,但是remove()方法会报错。
代码示例:

x = {'people', 'dog', 'cat'}
x.discard('dog')
x.discard('d')    # 这里指定了一个集合x中没有的元素,但是没有报错
print(x)

输出结果:

{'people', 'cat'}

3、pop()方法
pop()方法用于随机移除集合中的一个元素。
代码示例:

x = {'people', 'dog', 'cat','cow'}
x.pop()
print(x)

输出结果:

{'cow', 'people', 'dog'}

4、清空集合 clear()

clear()方法用于移除集合中的所有元素
代码示例:

x = {'people', 'dog', 'cat','cow'}
x.clear()
print(x)

输出结果:

set()
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值