不会编程的小卜
人生没有白走的路,每一步都算数

集合以及深浅拷贝

集合:

集合是个一个无序的  
天然自带去重特性
s = {}     # 空{}就是字典

集合的一些基本操作:

                     增

# s.add(8)
# print(s)

# s.update('alex')   # 迭代添加
# print(s)

                      删

# s = {1,2,3,'22','ss',(3,4)}

# s1 = s.pop()    #随机删除
# print(s)    #返回值  返回的被删除的元素
# print(s1)

# s.clear()
# print(s)      #清空 set()

# s = {1,2,3,'22','ss',(3,4)}
# del s           #删除整个集合
# print(s)

# s = {1,2,3,'22','ss',(3,4)}
# s.remove()    #通过元素指定删除
# print(s)

                     改

# s = {1,2,3,'22','ss',(3,4)}
# s.remove(3)
# s.add(7)
# print(s)

                     查

# s = {1,2,3,'22','ss',(3,4)}
# for i in s:
#     print(i)

集合其他操作:

 print(s & s1)  #  交集  俩个集合都有的才输出

# print(s | s1)    #   并集  两个集合 合并到一起

# print(s1 - s)       # 差集   前面减后边的集合前边集合中有的输出出来   自己总结

# print(s ^ s1)         # 反交集
   print(s < s1)     # 子集
# print(s1 > s)     # 超(父)集
###### frozenset

二次编码:

# ascii  # 不支持中文
# unicode  万国码   中文4个字节  英文 2个
# utf-8    最少使用1个字节   欧洲 2  亚洲 3
# gbk     中文 2 英 1
# windows  默认编码GBK

 

a2 = a.encode('utf-8')   #编码
# print(a)
# print(a2)
# a3 = a2.decode('utf-8')  #解码
# print(a3)
# bytes字节   用于传输和存储
###### 用是什么编码就用什么解码

深浅拷贝:

# lst = [1,2,3,[4,5,6],7]
# lst1 = lst    #赋值
# lst2 = lst[:] # 切片
浅拷贝就是只拷贝第一层元素
# 深拷贝
import copy

# lst4 = copy.deepcopy(lst)
深拷贝:

    # 拷贝所有元素开辟新的空间存放,完全没有关系

牛刀小试:

a = [1, 2]
a[1] = a  # [1,[1,2]]
print(a[1])







答案:
[1,[...]]

 

posted @ 2018-10-29 16:22  不会编程的小卜  阅读(124)  评论(0编辑  收藏  举报