深浅拷贝以及集合

字典转字符串类型      a = str{‘q’:{‘a‘’:'1'}}

字符串转字典类型      a = eval(a)

功能需求:1.展示省市县(数据存储在文件中)

     2.可以对菜单实现增删改查

浅拷贝   只拷贝第一层   .copy()   //shallow copy

深拷贝   完全复制一份  .deepcopy()     //就算修改可变数据类型的数据也不会影响原始被拷贝数据。

学习集合之前首先复习一下 列表,元组,字典的创建方式

列表 a=[]

  a=list([])

元组 a=()

  a=tuple([])

字典 a={}

  a=dic({})

集合

a= set(‘hshs’)

print(a) // {'h','s'}

======================

!!!set集合里面的数据必须是不可变数据类型(可hash)

比如li=[[1,2],4,3]

nn = set(li)  //这里会报错,因为[1,2]是可变数据类型

set集合里面的数据是无序的,不重复的。

====================

set集合的方法

b.add('aa')   //添加了一个元素a

b.update('abc')  //这是添加了三个元素a,b,c   update方法是把他当做一个字符串分开了

b.remove('a')   //删除a元素

b.pop()    //随机删除一个元素

b.clear()    //清空集合

del b        //删除集合

intersection  交叉,交集

a = set([1, 2, 34, 4])
b = set([2, 3, 4])
print(a.intersection(b)) //取a,b的交集
print(a.union(b))   //取a,b的并集
print(a.difference(b)) //差集 in a not in b
print(b.difference(a)) //in b not in a
print(a.symmetric_difference(b))   //对称差集   就是交集的对立面
symmetric encryption 对称加密

 a|b  并集和a.union(b)一样

a-b   差集  和 a.difference(b)  一样

a^b  对称差集  和a.symmetric_difference(b) 一样

a&b  交集  和 a.intersection(b)   一样

==================

父集和子集

a.issuperset(b)   //判断a是否是b的父集

a.issubset(b)  //判断a是否是b的子集

猜你喜欢

转载自www.cnblogs.com/zoery/p/9243385.html