一、集合
- 里面的元素不可变!!!!代表你不能存一个list、dict 在集合里,字符串、数字、元组等不可变类型可以存
- 天生去重,在集合里没办法存重复的元素
- 无序,不像列表一样通过索引来标记在列表中的位置 ,元素是无序的,集合中的元素没有先后之分,如集合{3,4,5}和{3,5,4}算作同一个集合
----上摘之小猿圈!!
①-去重
jihe = {1,2,1,3,4,2,3,'testone','testtwo','testone'}
在集合里重复的值是存储不进去的
利用集合给列表去重
b = [1,3,45,1,2,45,3,5,'jack','jack','rose']
v = set(b)
v
{1, 2, 3, 5, 'jack', 45, 'rose'} #你set之后,会变成集合
type(v)
<class 'set'> #这样的最终类型的集合
#我们要把它转换为列表
b = [1,3,45,1,2,45,3,5,'jack','jack','rose']
v = list(set(b))
v
[1, 2, 3, 5, 'jack', 45, 'rose']
type(v)
<class 'list'>
②-集合的增删查
集合不能修改!!!
增
利用add()
test.add('value')
删
利用discard()
test.discard('value')
利用remove()
test.remover('velue')
查
就直接集合名字就可以
'value' in test
③-关系运算
- 交集 #多个集合里,有一样的value的
- 并集 #多个集合里,value合并,去重
- 差集 #(a - b)输出a集合里面有,但b集合里面没有的 (b - a)输出b集合里面有,但a集合里面有的
- 对称差集 #就是把多个集合里都有的,踹出去了,其余合并!
s_1024 = {"佩奇","老男孩","海峰","马JJ","老村长","黑姑娘","Alex"}
s_pornhub = {"Alex","Egon","Rain","马JJ","Nick","Jack"}
print(s_1024 & s_pornhub) # 交集, elements in both set
print(s_1024 | s_pornhub) # 并集 or 合集
print(s_1024 - s_pornhub) # 差集 , only in 1024
print(s_pornhub - s_1024) # 差集, only in pornhub
print(s_1024 ^ s_pornhub) # 对称差集, 把脚踩2只船的人T出去
以上还是摘之小猿圈
交集:
并集:
差集:
对称差集:
二、文件操作
写:write()
my_file = open('test.txt','w',encoding='utf-8') #w:是write,写入;encoding是设置编码
my_file.write('这是我写入的内容\n')
my_file.write('Hello World\n')
my_file.write('Python文件读写\n')
my_file.close() #关闭文件
读:read()
file = open('test.txt','r',encoding='utf-8') #r是只读模式
print(file.readline()) #readline()是只读一行
print(file.readline()) #没读一行,光标会往下走一行
file.close()
print('-----分割线-----\n')
file = open('test.txt','r',encoding='utf-8')
values = file.read()
print(values)
file.close()
追加写入:append
但是只是把模式换成'a'就可以
file = open('test.txt','a',encoding='utf-8')
file.write('---这是我追加的内容---')
file.close()