深浅拷贝以及集合
Posted zoery
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深浅拷贝以及集合相关的知识,希望对你有一定的参考价值。
字典转字符串类型 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的子集
以上是关于深浅拷贝以及集合的主要内容,如果未能解决你的问题,请参考以下文章