python学习day08

Posted Duke77

tags:

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

一:深浅拷贝

1 :浅拷贝

st = [[1,2],\'duke\',\'haha\']
st1=st.copy()

print(st)
print(st1)
print(id(st1[0]))
print(id(st[0]))
print(id(st[0][1]))
print(id(st1[0][1]))
print(id(st[0][0]))
print(id(st1[0][0]))

st1[0][1]=3

print(st)
print(st1)
print(id(st1[0]))
print(id(st[0]))
print(id(st[0][1]))
print(id(st1[0][1]))
print(id(st[0][0]))
print(id(st1[0][0]))


   执行结果为:

       、                      

 

2:深拷贝

import copy
duke = ["duke",111,[88888,277272]]


wife = duke.copy()   #浅拷贝
wife[0] = "xiaomi"
wife[1] = 234

xaiohua = copy.deepcopy(duke)  #深拷贝
xaiohua[0] = "qinqin"
xaiohua[1] = 567

wife[2][1] -= 555
xaiohua[2][1] -= 666

print(duke)
print(wife)
print(xaiohua)

二:集合

#codeing:UTF-8
#__author__:Duke
#date:2018/3/6/006

#set 集合 :将不同的元素组合在一起

#创建  通过关键字
s = set(\'hjsdjhjdsh\')

#注意  集合的元素必须是可以哈希的数据类型
s = list([\'dukehah\',\'hudshcsuh\',\'duke\',\'duke\'])
s = set(s)   #会自动去除重复元素
print(s)
print(type(s))

#无索引  所以需要迭代器来访问
for i in s:
    print(i)

# 增加元素
s.add(\'w\')
print(s)

s.update(\'d\')
print(s)

#删除元素的方法
s.pop()
s.remove(\'d\')
s.clear()
#del s

#操作符

#等价
print(set(\'111\')==set(\'111\'))  #TRUE
print(set(\'111\')==set(\'11\'))  #False

#子集
print(set(\'111\')<set(\'111w\'))#TRUE
print(set(\'111U\')<set(\'111w\'))  #False



a = set([1,2,3,4,5])
b = set([4,5,6,7])
#交集
print(a.intersection(b))

#并集
print(a.union(b))
print(a | b)

#差集
print(a.difference(b)) #in a but not in b
print(a - b )
print(b.difference(a)) #in b but not in a
print( b-a)

#反向交集
print(a.symmetric_difference(b)) #对称差集
print(a ^ b )


 

 

以上是关于python学习day08的主要内容,如果未能解决你的问题,请参考以下文章

python学习day08

python开发学习-day08(socket高级socketserver进程线程)

python学习点滴记录-Day08

python 学习笔记day08-面向对象编程

python 机器学习有用的代码片段

Python100天学习笔记Day22 Web学习-Html标签