python中set不常用吗


本文摘自php中文网,作者anonymity,侵删。

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

set 语法:

1

class set([iterable])

参数说明:iterable -- 可迭代对象对象;

set集合,是一个无序且不重复的元素集合#set是一个无序且不重复的元素集合

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

s1=set()

s1.add("alex")

s1.add("eric")

print(s1)

#访问速度快

#天生解决了重复问题

ll=[1,2,3,4,5,6,3,2,1]

s2=set(ll)

print("转换后的集合为:",s2)

#去除相同项,生成一个新的集合,删除

s3=s2.difference([1,2,3,11])

print("s2不变:",s2)

print("观察是否生成一个新的集合s3:",s3)

s4=s2.difference_update([3,4,5,11])  #删除所有包含在新集合中的元素,并生成一个新的集合

print("是否改变原集合s2:",s2)

print("是否生成新集合s4:",s4)

ret=s2.pop()   #取出元素,并赋值给ret

print("移除s2中的一个元素",s2)

print("测试pop是否有返回值,移除的元素是:",ret)

ret1=s2.remove(2)  #必须带参数且没有返回值

print("移除s2中的一个元素:",s2)

print("测试remove是否有返回值:",ret1)

#练习

# 数据库中原有

old_dict = {

    "#1":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },

    "#2":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },

    "#3":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 }

}

# cmdb 新汇报的数据

new_dict = {

    "#1":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 800 },

    "#3":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 80 },

    "#4":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 80 }

}

"""

分析:

1、新有,原来无→新加入

2、新有,原来有→更新

3、新无,原来有→原来删除

使用set的交集和差集来计算

old_dict.keys()

new_dict.keys()

交集(更新):要更新的数据

差集(删除):old_dict.keys()--交集

差集(添加):new_dict.keys()--交集

"""

old=set(old_dict.keys())

new=set(new_dict.keys())

up_set=old.intersection(new)   #需要更新的集合

del_set=old.symmetric_difference(up_set)   #需要删除的集合

add_set=new.symmetric_difference(up_set)   #需要添加的集合

以上就是python中set不常用吗的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python 面向对象视频资料分享

Python随机漫步讲解

安装Python后怎么用

Python未来发展怎么样

Python编程基础是什么

Python学习requests爬取网页图片

Python注释快捷键是什么

Python实现对文件中图片生成带标签的txt文件方法

Python中不等于用什么来表示

Python文件的后缀名是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...