python_day14_set_回到了python的学习
今天晚上去参加了一下华为的2019届应届生招聘宣讲会,重新激了我学编程(ptthon)的热情,也是更加的有动力了吧。还有就是放弃硬件了,不过今天他们都羡慕幸运er,因为抽到了一个p20,但是我想着如果是我被抽到了的话,我肯定会用着那部手机肯定会特不舒服,因为不是靠自己的努力得来的。那么加油吧,明天还是充满希望的,只有自己有足够的能力,学完之后,一定要做出一个项目出来!!接下来方笔记:
深浅拷贝,昨天的:
#Author:"haijing"
#date:2018/9/19
# 拷贝:(当列表中只有数据时)
# s0=[1,'haijing','min']
# s1=s0.copy() #将s0拷贝给s1
# s1[0]=3 #此时只有s1的第一项发生变化
# print(s0)
# print(s1)
# 深浅拷贝:(当列表中还包括一个列时)
# s0=[[1,2],'haijing','min'] 在一个列表中还有一个列表 注意:# s2[0]=[1,2]
# s2=s0.copy()
# s2[0][1]=34 此时s0的数据也会改变,改字符串没事,改列表就会有问题
# print(s0)
# print(s2)
# 第一种 简单的传递
# a=1 #此时开辟了一个内存空间给a
# b=a #此时开辟了另一个内存空间给b,所以在改a的值的时候,并不影响b的值
# a=2
# print(a) #打印2
# print(b) #打印1
#第二种(01)copy
# a=[1,2,3] #此时开辟了一个内存空间给a
# b=a.copy() #此时开辟了另一个内存空间给b,所以在改a的值的时候,并不影响b的值
# a[0]=22
# print(a) #打印[22, 2, 3]
# print(b) #打印[1, 2, 3]
#第二种(02)copy
# a=[[11,22],2,3] #此时开辟了一个内存空间给a
# b=a.copy() #此时也开辟了另一个内存空间给b,但是a[0]=[11,22],这个b和a是共享地址的
# a[0][0]=8990 #所以在改变a的内存空间中的值的时候,b的值也会在变
# print(a) #打印[[8990, 22], 2, 3]
# print(b) #打印[[8990, 22], 2, 3]
#应用如下:(丈夫+妻子)
# husband = ['haijing',123,[15000,9000]] #表示丈夫xiaohu开了一张卡号为123、额度为15000,剩余额度为9k的信用卡
# wife=husband.copy() #此时夫妻两个人即可,可以共用一张信用卡
# wife[0] = 'min' #更改为妻子的名字
# wife[1]=456 #更改一下信用卡的卡号
#
# husband[2][1] = husband[2][1]-3000 #此时丈夫花钱,他们共同的信用卡的额度都会减少 husband[2][1] -= 3000也可以
# print(wife)
#应用如下:(丈夫+妻子+小三) 此时是要求:妻子和丈夫共用信用卡,小三和丈夫共用信用卡,用到深浅拷贝
import copy
husband = ['haijing',123,[15000,9000]] #表示丈夫xiaohu开了一张卡号为123、额度为15000,剩余额度为9k的信用卡
wife=husband.copy() #此时夫妻两个人即可,可以共用一张信用卡
wife[0] = 'min' #更改为妻子的名字
wife[1]=456 #更改一下信用卡的卡号
# xiaosan = copy.copy(husband) #浅拷贝,不用 丈夫和小三任何一个人花钱,都会导致信用余额变化
xiaosan = copy.deepcopy(husband) #深拷贝,用 小三花钱,不会导致丈夫的信用卡的余额变化
xiaosan[0] = 'Jinxing'
xiaosan[1] = 666
xiaosan[2][1] -= 1999 #小三画了1999元钱
husband[2][1] = husband[2][1]-3000 #此时丈夫花钱,他们共同的信用卡的额度都会减少 husband[2][1] -= 3000也可以
print(wife) #打印['min', 456, [15000, 6000]]
print(xiaosan) #打印['Jinxing', 666, [15000, 7001]] 但是他们都话的是husband的钱
print(husband) #打印['haijing', 123, [15000, 6000]]
集合set 今天的,好像就一点哈:
#Author:"haijing"
#date:2018/9/20
# 集合set:把不同的元素集合在一起
# s=set('haijing') #创建一个集合
# print(s) #打印{'g', 'n', 'a', 'i', 'h', 'j'} 如果有重复的字母,只会显示一个作用之一就是去重
# print(type(s)) #打印 <class 'set'>
# s=list(s)
# print(s,type(s)) #打印['i', 'a', 'n', 'g', 'h', 'j'] <class 'list'>