[ 初识Python] Day4~~

Python Day Three


1.集合

特性:去重、关系测试,测试两组数据之前的交集、差集、并集等关系
#集合
#特性:去重、关系测试,测试两组数据之前的交集、差集、并集等关系


#集合创建方法
#1 列表转集合
list_s = ["das",12,"asd","das",1,3]
list_s = set(list_s)
print(list_s)
#2 直接创建
s = set([1,3,5,7,9])

#添加
s.add('a')#添加一项
s.update([1,20,51])#添加多项

#删除
s.remove('a')#没有会报错
list_s.discard(1)#没有不会报错


#测试"asd"是否是list_s的成员
print('asd' in list_s)
'asd' not in list_s

#交集
print(  list_s.intersection(s)  )

list_s & s

#并集
print(list_s.union(s))

list_s | s

#差集
print(list_s.difference(s)) #在list_s中,不在s中

list_s - s
#对称差集,把相同的删除,剩余的成为一个集合
print("对称差集",list_s.symmetric_difference(s))
list_s ^ s

#子集
list_3 = set([1,3])
print(list_3.issubset(list_s))
print(list_s.issuperset(list_3))

#判断是否有交集,有交集返回false
print(list_s.isdisjoint(s))

list_4 = list_s.copy()#浅copy

 

 2.文件


'''
f = open("yesterday","a",encoding="utf-8")
f.write("我爱北京天安门,\n")
f.write("天安门上太阳升\n")
f.close()
'''
'''
f = open("yesterday","r",encoding="utf-8")
for index,line in enumerate(f.readlines()):
    if index == 9:
        print("-----------------分割线----------------")
        continue
    print(line.strip())
'''
'''
f = open("yesterday","r",encoding="utf-8")
tag = 0
for line in f:
    if tag ==9:
        print("分割线".center(50,'-'))
        tag+=1
        continue
    tag +=1
    print(line.strip())
'''
'''
f = open("yesterday","r",encoding="utf-8")
print(f.tell())#查看指针位置
print(f.readline())
print(f.tell())
f.seek(0)#调整指针位置
#f.seekable() 先判断是否能移动指针,能移则移
print(f.tell())
print(f.encoding)

f.readable()#判断文件是否可读
f.writable()#判断文件是否可写
print(f.name)#文件名

f.flush()#刷新缓冲区
'''
'''
#举例模拟进度条 若没有sys.stdout.flush()刷新则会等缓冲区满了再显示
import sys,time

for i in range(20):
    sys.stdout.write("#")
    #sys.stdout.flush()
    time.sleep(0.1)
#????被骗了
'''
'''
f = open("yesterday","r",encoding="utf-8")
f.truncate()#不写是从零开始截断,写是从头截断到指定位置
'''

#读写模式
f = open("yesterday","r+",encoding="utf-8")
#既能读又能写,写只能写到末尾
print(f.readline())
print(f.readline())
print(f.readline())
f.write("-----------asd-----------")
print(f.readline())
print(f.readline())
print(f.readline())
#f = open("yesterday","a+",encoding="utf-8")#追加读写
#f = open("yesterday","rb",)#二进制文件
#f.write("hello world".encode("utf-8"))#按二进制编码写文件

3.with语句

__Author__ = "Kevin"
#避免忘记写f.close()
with open("yesterday","r",encoding="utf-8") as f:
    print(f.readline())

#打开多个文件可这么写
'''
with open("yesterday","r",encoding="utf-8") as f ,\
    open("yesterday2","r",encoding="utf-8") as f2:
    print(f.readline())
'''

4.文件修改

__Author__ = "Kevin"

f = open("yesterday2","r",encoding="utf-8")
f_new = open("yesterday2.bak","w",encoding="utf-8")

for line in f:
    if "忧心忡忡" in line:
        line = line.replace("忧心忡忡","AAAAAA")
    f_new.write(line)
f.close()
f_new.close()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值