集合

#集合的创建
# set1 = set({1,2,3})
# set2 = {1,2,'barry'}
# print(set1,set2)

#集合的增加
# set1 = {'alex','wusir','ritian','egon','barry'}
#set1.add('高建涛') #无序增加
# set1.update('老师') #迭代增加无序{'高建涛', '老', 'egon', '师', 'ritian', 'wusir', 'alex', 'barry'}
#set1.update([1,2,3])
#set1.update([3,2,1])
# set1.update(['a','b','c']) #{'wusir', 'c', 'alex', 'a', 'b', 'egon', 'ritian', 'barry'}
#集合的删除
# set1.remove('egon') #根据元素去删除
# set1.pop() #随机删除一个元素,可以打印返回值
# set1.clear() #清空一个集合
# del set1 #删除人格
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
# # 交集 & 或则 intersection
# print(set1 & set2)
# print(set1.intersection(set2))
# # 并集 | 或者 union
# print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7}
# print(set2.union(set1)) # {1, 2, 3, 4, 5, 6, 7}
# # 差集 - 或则differece
# print(set1 - set2) # {1, 2, 3}
# print(set1.difference(set2)) # {1, 2, 3}
# # 反交集 ^ 或者 symmetric_difference
# print(set1 ^ set2) # {1, 2, 3, 6, 7, 8}
# print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8}
# 子集与超集
# print(set1 < set2)
# print(set1.issubset(set2)) # 返回值为bool这两个相同,都是说明set1是set2子集。
#
# print(set2 > set1)
# # print(set2.issuperset(set1)) #返回值为bool 这两个相同,都是说明set2是set1超集。
# a = frozenset('barry')
# print(a,type(s))
#深浅copy
#1、深浅copy的区别 内嵌列表的改变
# l1 = [1,2,3,['barry','alex']]
# l2 = l1
# # l1 [0] = 111 #对于赋值运算来说,l1与l2指向的是同一个内存地址,所以他们是完全一样的。
# # print(l1,l2)
# #浅copy:对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。
# 常见的三种潜拷贝方式
# l1 = [1, 2, 3, ['barry', 'alex']]
# l2 = l1.copy()
# print(l1, id(l1)) # [1, 2, 3, ['barry', 'alex']] 2380296895816
# print(l2, id(l2)) # [1, 2, 3, ['barry', 'alex']] 2380296895048
# l1[1] = 222
# print(l1, id(l1)) # [1, 222, 3, ['barry', 'alex']] 2593038941128#第一层添加分开,copy是创建一个新的列表,内层添加的话由于是同一个内存地址
# print(l2, id(l2)) # [1, 2, 3, ['barry', 'alex']] 2593038941896
# l1[3][0] = 'wusir'
# print(l1, id(l1[3])) # [1, 2, 3, ['wusir', 'alex']] 1732315659016#内嵌地址都一样
# print(l2, id(l2[3])) # [1, 2, 3, ['wusir', 'alex']] 1732315659016
# 深copy
# import copy
# l1 = [1,2,3,['barry','alex']]
# l2 = copy.deepcopy(l1)
#
# print(l1,id(l1)) # [1, 2, 3, ['barry', 'alex']] 2915377167816
# print(l2,id(l2)) # [1, 2, 3, ['barry', 'alex']] 2915377167048
#
# l1[1] = 222
# print(l1,id(l1)) # [1, 222, 3, ['barry', 'alex']] 2915377167816
# print(l2,id(l2)) # [1, 2, 3, ['barry', 'alex']] 2915377167048
#
# l1[3][0] = 'wusir'
# print(l1,id(l1[3])) # [1, 222, 3, ['wusir', 'alex']] 2915377167240
# print(l2,id(l2[3])) # [1, 2, 3, ['barry', 'alex']] 2915377167304
#


posted @ 2017-12-22 14:19  Ebola  阅读(163)  评论(0编辑  收藏  举报