标签:
一、第二天课程的复习总结
1、列表可以增删改查,元组是不可修改的列表,字符串是不可以修改的。
2、列表,元组是有序的,字典是无序的,字典的key唯一
3、列表字典可以嵌套列表,可以嵌套字典,可以嵌套多层
4、字典不需要保存下标,是通过key来找值(value)
二、集合
1、集合特点:无序,不可重复,关系测试
2、关系测试
a、交集:取出两个集合间的重复部分A.intersection.B
b、并集:两个集合元素总和,(包括重复部分,重复是唯一)A.union.B
c、差集:A-B A中有B中没有,B-A,B中有A中没有 A.difference.B B.difference.A
d、子集,父集:A包含B,B是A的子集,A是B的父集 子集B.issubset.A 父集A.issuperset.B
f、对称差集:取两个集合总和,去掉重复部分。A.symmetric_difference.B
g、isdisjoint 没有交集时返回True
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Author : Willpower-chen
4 # @blog: http://www.cnblogs.com/willpower-chen/
5 list_1 = set([1,3,5,7,9,0,10])
6 list_2 = set([2,4,6,8,0,10])
7 list_3 = set([1,3,5])
8 list_4 = set([2,4,6])
9
10 print(‘交集‘.center(50,‘-‘))
11 print(‘list_1.intersection(list_2)‘)
12 print(list_1.intersection(list_2))
13 print(‘另一种写法‘)
14 print(‘list_1 & list_2‘)
15 print(list_1 & list_2)
16
17 print(‘并集‘.center(50,‘-‘))
18 print(‘list_1.union(list_2)‘)
19 print(list_1.union(list_2))
20 print(‘另一种写法‘)
21 print(‘list_1 | list_2‘)
22 print(list_1 | list_2)
23
24 print(‘差集‘.center(50,‘-‘))
25 print(‘list_1.difference(list_2)‘)
26 print(list_1.difference(list_2))
27 print(‘list_2.difference(list_1)‘)
28 print(list_2.difference(list_1))
29 print(‘另一种写法‘)
30 print(‘list_1 - list_2‘)
31 print(list_1 - list_2)
32 print(‘list_2 - list_1‘)
33 print(list_2 - list_1)
34
35 print(‘判断子集,父集关系‘.center(50,‘-‘))
36 print(‘list_3.issubset(list_1)‘)
37 print(list_3.issubset(list_1))
38 print(‘list_1.issuperset(list_3)‘)
39 print(list_1.issuperset(list_3))
40
41
42
43 print(‘对称差集‘.center(50,‘-‘))
44 print(‘list_1.symmetric_difference(list_2)‘)
45 print(list_1.symmetric_difference(list_2))
46 print(‘另一种写法‘)
47 print(‘list_1 ^ list_2‘)
48 print(list_1 ^ list_2)
49
50 print(‘判断有无交集‘.center(50,‘-‘))
51 print(‘有交集返回False‘)
52 print(‘list_1.isdisjoint(list_2)‘)
53 print(list_1.isdisjoint(list_2))
54 print(‘没有交集返回True‘)
55 print(‘list_3.isdisjoint(list_4)‘)
56 print(list_3.isdisjoint(list_4))
list_1 {0, 1, 3, 5, 7, 9, 10}
list_2 {0, 2, 4, 6, 8, 10}
list_3 {1, 3, 5}
list_4 {2, 4, 6}
------------------------交集------------------------
list_1.intersection(list_2)
{0, 10}
另一种写法
list_1 & list_2
{0, 10}
------------------------并集------------------------
list_1.union(list_2)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
另一种写法
list_1 | list_2
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
------------------------差集------------------------
list_1.difference(list_2)
{1, 3, 5, 9, 7}
list_2.difference(list_1)
{8, 2, 4, 6}
另一种写法
list_1 - list_2
{1, 3, 5, 9, 7}
list_2 - list_1
{8, 2, 4, 6}
--------------------判断子集,父集关系---------------------
list_3.issubset(list_1)
True
list_1.issuperset(list_3)
True
-----------------------对称差集-----------------------
list_1.symmetric_difference(list_2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
另一种写法
list_1 ^ list_2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
----------------------判断有无交集----------------------
有交集返回False
list_1.isdisjoint(list_2)
False
没有交集返回True
list_3.isdisjoint(list_4)
True
3、集合其他操作
a、增:add,update ;add只能增加单个元素,update添加一个或多个集合
b、删:remove指定元素删除(只能删一个)并且删除集合中不存在的会报错,
discard删除集合中不存在的不报错,
pop随机删除一个,并返回被删元素
c、in 或者 not in :判断是否在集合中,其实字典,列表都可以这样判断
set_1 {1, 3, 5, 7, 9, 10} set_2 {8, 2, 10, 4, 6} set_3 {‘a‘, 1, 3, 5} set_4 {2, 4, ‘b‘, 6} ------------------------增------------------------- set_1.add(88) set_1 {1, 3, 5, 7, 9, 10, 88} set_1.update(set_2,set_3) set_1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ‘a‘, 88} ------------------------删除------------------------ set_1.pop() set_1 {2, 3, 4, 5, 6, 7, 8, 9, 10, ‘a‘, 88} pop_value的值 1 set_1.remove(10) set_1 {2, 3, 4, 5, 6, 7, 8, 9, ‘a‘, 88} set_1.discard(7) set_1 {2, 3, 4, 5, 6, 8, 9, ‘a‘, 88}
三、文件操作
1、要想对文件操作,就要对打开的文件的内存赋一个对象
f = open(file,‘r‘,enconding=‘utf-8‘)
f.close()
f为文件句柄:内存对象,文件大小等属性
2、r只读;w只写创建一个新文件,原有文件会被覆盖;a 即append,追加不可读
3、f.readline()读取一行,f.readlines()一次性把文件内容存到内存,所以只适合小文件
4、f.tell()打印当前位置;f.seek()指针所在位置;f.enconding()
标签:
原文地址:http://www.cnblogs.com/willpower-chen/p/5764206.html