集合 相关 深浅copy

Posted aj-aj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合 相关 深浅copy相关的知识,希望对你有一定的参考价值。

‘‘‘
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
     {}
‘‘‘
# set1 = set({1,2,3})
# set2 = {1,2,3,[2,3],{‘name‘:‘alex‘}}  # 错的
# print(set1)
# print(set2)
# set1 = {‘alex‘,‘wusir‘,‘ritian‘,‘egon‘,‘barry‘,}
#
#add
# set1.add(‘女神‘)
# print(set1)
#update
# set1.update(‘abc‘)
# print(set1)
#删除

# set1.pop()  # 随机删除
# print(set1.pop())  # 有返回值
# print(set1)

# set1.remove(‘alex‘)  # 按元素
# print(set1)

#{} set()
# set1.clear()
# print(set1)  # set()

# del set1
# print(set1)

#
# for i in set1:
#     print(i)

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# set3 = set1 & set2
# print(set3)  # {4, 5}
# print(set1.intersection(set2))  # {4, 5}

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
# print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
# print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 - set2)  # {1, 2, 3}
# #set1独有的
# print(set1.difference(set2))  # {1, 2, 3}

# set1 = {1,2,3,}
# set2 = {1,2,3,4,5,6}
#
# print(set1 < set2)
# print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。

# print(set2 > set1)
# print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。


#去重
# li = [1,2,33,33,2,1,4,5,6,6]
# set1 = set(li)
# # print(set1)
# li = list(set1)
# print(li)
# s1 = {1,2,3}
# print(s1,type(s1))

# s = frozenset(‘barry‘)
# print(s,type(s))
# for i in s:
#     print(i)

 

深浅copy

# 赋值运算
# l1 = [1,2,3]
# l2 = l1
# l1.append(‘a‘)
# print(l1,l2)

#copy
# l1 = [1,2,3]
# l2 = l1.copy()
# print(l1,l2)
# print(id(l1),id(l2))
# l2.append(‘a‘)
# print(l1,l2)

# l1 = [1,2,[4,5,6],3]
# l2 = l1.copy()
#
# print(l1,id(l1))
# print(l2,id(l2))
# l1.append(‘a‘)
# print(l1,l2)
# l1[2].append(‘a‘)
# print(l1,l2)
# print(id(l1[2]))
# print(id(l2[2]))
import copy
# l1 = [1,2,[4,5,6],3]
# l2 = copy.deepcopy(l1)
# print(l1,id(l1))
# print(l2,id(l2))
# l1[2].append(‘a‘)
# print(l1,l2)

# l1 = [1,[1],2,3,4]
# l2 = l1
# # l1[1].append(‘a‘)
# # l2 的结果是什么?
#
#
# print(l1,id(l1))
# print(l2,id(l2))
# print(l1[1] is l2[1])

# li = [‘alex‘,‘taibai‘,‘wusir‘,‘egon‘]
# for i in li:
#     print(li.index(i),i)

# for index,i in enumerate(li,1):
#     print(index,i)

 

以上是关于集合 相关 深浅copy的主要内容,如果未能解决你的问题,请参考以下文章

字符串, 列表, 元祖, 集合, 字典的相关操作和函数, 深浅copy

is == id 的用法;代码块;深浅copy;集合

is == id 用法, 代码块,缓存机制,深浅copy,集合

小数据池 深浅copy 集合

python集合深浅copy

python之数据类型补充集合深浅copy