day 07 数据类型,集合,深浅copy

1.day 06 内容回顾

 1 小数据池
 2 int :-5-256
 3 str:特殊字符 ,*20
 4 
 5 ascii:8位  1字节  表示一个字符
 6 unicode:32位 4个字节 , 表示一个字符
 7 字节表示8位表示一个字节,字符表示组成的最小元素
 8 utf-8 1个英文字母 8位  1个字节
 9       欧洲  16位  两个字节  表示一个字符
10       亚洲   24位  三个字节  表示一个字符
11 
12 
13 gbk   1个英文字母 8位,1个字节
14          亚洲  16 位 两个字节表示一个字符
15 
16 s = 'alex'
17 b = s.encode('utf-8')
18 print(b)#b.alex

2.数据类型汇总

 1 '''
 2 str  int
 3 '''
 4 # str
 5 # s = 'hah '
 6 # print(s.isspace())#isspace至少有一个空格就是True,没有就是False
 7 #int
 8 
 9 '''
10 list:
11 '''
12 # lis = [11,22,33,44,55]
13 # for i in range(len(lis)):
14 #     print(i)
15 #     print(lis)
16 #     del lis[i]
17 
18 #dic = {'k1':'v1','k2':'v2','a3':'v3'}
19 dic1={}
20 # for i in dic:
21 #     if 'k' not in i:
22 #         dic1.setdefault(i,dic[i])
23 # dic=dic1
24 # print(dic)
25 
26 # l = []
27 # for i in dic:
28 #     if 'k' in i:
29 #         l.append(i)
30 # for i in l :
31 #     del dic[i]
32 # print(dic)
33 
34 
35 #转换成bool值
36 #0 '' [] () set()
37 
38 #元祖  如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型
39 tu1 = ([1])
40 tu2 = ([1],)
41 print(tu1,type(tu1))
42 print(tu2,type(tu2))

3.集合的操作

 1 '''
 2 集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无需,不重复
 3       {}
 4 '''
 5 # #set1 = set({1,2,3})
 6 # set2 = {1,2,3.[2,3],{'name':'alex'}}#报错
 7 # #print(set1)
 8 # print(set2)
 9 
10 #增:add
11 set1 = {'alex','wusir','ritian','egon','barry',}
12 # set1.add('女神')
13 # print(set1)
14 #update无需添加
15 # set1.update('abc')
16 # print(set1)
17 #
18 # set1.pop()#随机删除
19 # print(set1.pop())#有返回值
20 # print(set1)
21 # #remove按元素删除
22 # set1.remove('alex')
23 # print(set1)
24 
25 #清空
26 # set1.clear()
27 # print(set1)
28 
29 #
30 # for i in set1:
31 #     print(i)
32 
33 
34 #求交集
35 # set1 = {1,2,3,4,5}
36 # set2 = {4,5,6,7,8}
37 # set3 = set1 & set2
38 # print(set3)  # {4, 5}
39 # print(set1.intersection(set2))  # {4, 5}
40 
41 #求并集
42 # set1 = {1,2,3,4,5}
43 # set2 = {4,5,6,7,8}
44 # print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
45 # print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}
46 
47 #求反交集
48 # set1 = {1,2,3,4,5}
49 # set2 = {4,5,6,7,8}
50 # print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
51 # print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}
52 
53 
54 #set1独有的
55 # set1 = {1,2,3,4,5}
56 # set2 = {4,5,6,7,8}
57 # print(set1 - set2)  # {1, 2, 3}
58 # #set1独有的
59 # print(set1.difference(set2))  # {1, 2, 3}
60 
61 # set1 = {1,2,3,}
62 # set2 = {1,2,3,4,5,6}
63 # #子集
64 # print(set1 < set2)
65 # print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。
66 # #超集
67 # print(set2 > set1)
68 # print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。
69 
70 #去重
71 # li = [1,2,33,33,2,1,4,5,6,6]
72 # set1 = set(li)
73 # # print(set1)
74 # li = list(set1)
75 # print(li)
76 
77 
78 # s1 = {1,2,3}
79 # print(s1,type(s1))
80 
81 # s = frozenset('barry')
82 # print(s,type(s))
83 # for i in s:
84 #     print(i)

4.深浅copy

 1 #赋值没有创建新对象,多个变量共享一个对象’
 2 #浅拷贝,会创建对象,新的对象中里面的内存不会被拷贝‘
 3 #深拷贝,创建一个一模一样的完全新的对象,这个对象延伸出来的内容也会跟着复制一份
 4 # 赋值运算
 5 # l1 = [1,2,3]
 6 # l2 = l1
 7 # l1.append('a')
 8 # print(l1,l2)
 9 
10 
11 #copy
12 # l1 = [1,2,3]
13 # l2 = l1.copy()
14 # print(l1,l2)
15 # print(id(l1),id(l2))
16 # l2.append('a')
17 # print(l1,l2)
18 
19 # l1 = [1,2,[4,5,6],3]
20 # l2 = l1.copy()
21 #
22 # print(l1,id(l1))
23 # print(l2,id(l2))
24 # l1.append('a')
25 # print(l1,l2)
26 # l1[2].append('a')
27 # print(l1,l2)
28 # print(id(l1[2]))
29 # print(id(l2[2]))
30 
31 # import copy
32 # l1 = [1,2,[4,5,6],3]
33 # l2 = copy.deepcopy(l1)
34 # print(l1,id(l1))
35 # print(l2,id(l2))
36 # l1[2].append('a')
37 # print(l1,l2)
38 #
39 # l1 = [1,[1],2,3,4]
40 # l2 = l1[:]
41 # l1[1].append('a')
42 # # l2 的结果是什么?
43 # print(l1,id(l1))
44 # print(l2,id(l2))
45 # print(l1[1] is l2[1])
46 
47 # li = ['alex','taibai','wusir','egon']
48 # for i in li:
49 #     print(li.index(i),i)
50 #
51 # for index,i in enumerate(li,1):
52 #     print(index,i)
原文地址:https://www.cnblogs.com/gcs888/p/10765033.html