码迷,mamicode.com
首页 > 编程语言 > 详细

python函数

时间:2016-12-24 01:31:37      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:指定   生成   remove   cap   速度   例子   添加   dict   count   

set 添加一个无序的,用set方法,访问速度快,天生解决了重复问题

1、difference 指定某个元素从原来set取出,并生成新的set

1 #difference
2 a = set(["aaa","bbb","ccc","aaa"])
3 print(a)
4 b = a.difference(["aaa"])
5 print(b)
6 
7 {ccc, bbb, aaa}
8 {ccc, bbb}

 

2、difference_update 删除原来set里某个元素

 1 #difference_update
 2 a = set(["aaa","bbb","ccc","aaa"])
 3 print(a)
 4 b = a.difference_update(["aaa"])
 5 print(a)
 6 print(b)
 7 
 8 
 9 {bbb, ccc, aaa}
10 {bbb, ccc}
11 None

 

 

3、pop 删除某个元素

 1 #pop
 2 a = set(["aaa","bbb","ccc","aaa"])
 3 print(a)
 4 b = a.pop()
 5 print(a)
 6 print(b)
 7 
 8 
 9 {aaa, bbb, ccc}
10 {bbb, ccc}
11 aaa

 

 

4、remove 删除指定元素

 1 #remove
 2 a = set(["aaa","bbb","ccc","aaa"])
 3 print(a)
 4 b = a.remove("ccc")
 5 print(a)
 6 print(b)
 7 
 8 
 9 {bbb, ccc, aaa}
10 {bbb, aaa}
11 None

 

 

这里举一个例子,更新、删除、添加原来的表

 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 # cmdb 新汇报的数据
 7 new_dict = {
 8     "#1": {hostname: c1, cpu_count: 2, mem_capicity: 800},
 9     "#3": {hostname: c1, cpu_count: 2, mem_capicity: 80},
10     "#4": {hostname: c2, cpu_count: 2, mem_capicity: 80}
11 }
12 
13 a = set(old_dict.keys())
14 b = set(new_dict.keys())
15 
16 #要更新的数据
17 update_set = a.intersection(b)
18 print(update_set)
19 #要删除的数据
20 delete_set = a.symmetric_difference(update_set)
21 print(delete_set)
22 #要添加的数据
23 add_set = b.symmetric_difference(update_set)
24 print(add_set)
25 
26 
27 
28 {#3, #1}
29 {#2}
30 {#4}

 

python函数

标签:指定   生成   remove   cap   速度   例子   添加   dict   count   

原文地址:http://www.cnblogs.com/fanyunpeng/p/6216214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!