Python学习——set集合的补充

set 是一个无序且不重复的元素集合>>> num = {1,2,3,4,5} 

1.add()添加一个元素 >>> num.add(6) >>> num >>> {1,2,3,4,5,6}

2.clear()清除集合中所有元素 >>> num.clear() >>> num >>> set()

3.copy()复制一个集合 >>> num1 = num.copy() >>> num1 >>> {1,2,3,4,5}

4.difference()取得集合在一个或多个集合中不同的元素 >>> num1 = {2,4,6,8,10} >>> num2 = {1,3,11,12,14} #返回在一个集合中不同的元素 >>> num.difference(num1) >>> {1,3,5} #返回在多个集合中不同的元素 >>> num.difference(num1,num2) >>> {5}

5.difference_update()删除当前集合中所有包含在新集合里的元素 >>> num1 = {2,4,6,8,10} >>> num2 = {1,2,11,13} >>> num.difference_update(num1,num2) >>> num >>> {3,5}

6.discard()从集合中移除一个元素,如果元素不存在,不做任何处理 >>> num.discard(1) >>> num >>> {2,3,4,5}

7.intersection()取交集,新建一个集合 >>> num1 ={1,3,5,7,9} >>> num.intersection(num1) >>> {1,3,5}

8.intersection_update()取交集,修改与原来的集合 >>> num1 = {1,3,5,7,9} >>> num.intersection_update(num1) >>> num >>> {1,3,5}

9.isdisjoint()如果没有交集,返回True >>> num2 ={6,8,10} >>> num.isdisjoint(num2) >>> True

10.pop()从集合开头移除一个元素 >>> num.pop() >>> 1 >>> num >>> {2,3,4,5} PS:如果集合为空,返回错误提示

11.symmetric_difference()差集,创建新对象 >>> num = {1,2,3,4,5,6} >>> num1 = {2,3,4,6,8,9} >>> num.symmetric_difference(num1) >>> {1,5,8,9}

12.symmetric_difference_update()差集,改变原来的集合 >>> num = {1,2,3,4,5,6} >>> num1 = {2,3,4,6,8,9} >>> num.symmetric_difference_update(num1) >>> num >>> {1,5,8,9}

13.union()并集,返回一个新集合 >>> num ={1,2,4,6,7} >>> num1 ={,2,4,6,8,10,12} >>> num.union(num1) >>> {1,2,4,6,7,8,10,12}

14.update()并集,并更新该集合 >>> num ={1,2,4,6,7} >>> num1 ={,2,4,6,8,10,12} >>> num.update(num1) >>> num >>> {1,2,4,6,7,8,10,12}

小练习:

 1 old_dict = {
 2     "#1": {‘hostname‘: ‘c1‘, ‘cpu_count‘: 2, ‘mem_capicity‘: 80},
 3     "#2": {‘hostname‘: ‘c1‘, ‘cpu_count‘: 2, ‘mem_capicity‘: 80},
 4     "#3": {‘hostname‘: ‘c1‘, ‘cpu_count‘: 2, ‘mem_capicity‘: 80}
 5 }
 6 new_dict = {
 7     "#1": {‘hostname‘: ‘c1‘, ‘cpu_count‘: 2, ‘mem_capicity‘: 800},
 8     "#3": {‘hostname‘: ‘c1‘, ‘cpu_count‘: 2, ‘mem_capicity‘: 80},
 9     "#4": {‘hostname‘: ‘c2‘, ‘cpu_count‘: 2, ‘mem_capicity‘: 80}
10 }
11 old_set = set(old_dict.keys())
12 update_list = list(old_set.intersection(new_dict.keys()))
13
14 new_list = []
15 del_list = []
16
17 for i in new_dict.keys():
18   if i not in update_list:
19     new_list.append(i)
20 for i in old_dict.keys():
21   if i not in update_list:
22     del_list.append(i)
23 print (update_list,new_list,del_list,new_dict.keys())
24 print(new_dict)

结果为:
>>> [‘#1‘, ‘#3‘] [‘#4‘] [‘#2‘] dict_keys([‘#1‘, ‘#3‘, ‘#4‘])
>>>{
‘#1‘: {‘mem_capicity‘: 800, ‘hostname‘: ‘c1‘, ‘cpu_count‘: 2},
‘#3‘: {‘mem_capicity‘: 80, ‘hostname‘: ‘c1‘, ‘cpu_count‘: 2},
‘#4‘: {‘mem_capicity‘: 80, ‘hostname‘: ‘c2‘, ‘cpu_count‘: 2}
}

时间: 2024-10-08 19:11:09

Python学习——set集合的补充的相关文章

python学习-第四天补充-面向对象

python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的python的伪私有,实际是python通过名字修改来进行的,python会把这样命名的变量或者函数名改为_类名__变量名 class A: __name="hello" t = A(); #print(t.__name) #这样会出现错误,错误提示说这个变量没有__name类型 print

Python学习:集合(set)

python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set.作为一个无序的集合,sets不记录元素位置或者插入点.因此,sets不支持 indexing, slicing, 或其它类序列(sequence-l

Python学习笔记6-python函数补充、装饰器、模块

本文主要学习内容有 函数知识的补充 装饰器(无参.有参.非固定参数.有返回值) 函数知识的补充 稍后待续...

python学习笔记集合(七)

集合 set(集合)是一个无需不重复的元素数据集,对比列表的区别首先是无需的,不可以使用索引进行访问,另外一个特点是不能有重复数据. 项目开发中,集合主要用于数据元素去重和测试是否存在.集合还支持一些数学上的运算,例如:union(联合).intersection(交).difference(差).symmetric difference(对称差集). 创建集合:集合使用大括号或者set函数创建,需要注意空的集合不能使用{}创建,只能使用set函数,因为{}创建的是一个空字典. >> cour

python学习点滴记录-Day02补充-文件操作

字符编码: 把人类的字符翻译成计算机能认识的数字 字符编码表 存放着人类字符和计算机数字的对应关系表 ascii.gbk.utf-8.unicode unicode>encode(utf8)>bytes bytes>decode(utf8)>unicode 文件处理补充: 字符以什么格式编码的,就要以什么格式解码 文件的打开模式 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文

python学习之第八天补充

本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程序 1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, most communication between computers is based on th

python 学习_day28_常用模块补充

一.摘要算法--hashlib模块 1.算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示).摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过.摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过dig

Python 学习笔记 - 集合和文件操作

Set 集合 Set是一个无序而且不重复的元素集合.下面看看他有哪些基本功能 创建集合 >>> s1 = {11,22} s2 = set() s3 = set([11,22,33,4]) print(s1,s2,s3) ------------------- {11, 22} set() {33, 11, 4, 22} 把列表转换成集合,注意列表中重复的元素只保留一次 >>> li = [11,22,11,22] s1 = set(li) print(s1) ----

Python学习日记---集合

一.集合的构造方法:   集合名 = set() 1. set()中可以有有一个参数,参数类型必须是可迭代的,例如字符串.列表,就是能拆分成单独元素的意思 2.如果不带参数则表示构造一个空集 >>> aSet = set("abcd")    #参数为字符串 >>> aSet {'c', 'b', 'd', 'a'} >>> bSet = ['a',1.5,'set']  #参数为普通列表 >>> bSet ['a