Python学习-初学入门3,,一 集合1.集合是无


一 集合

1.集合是无序不重复的

2.集合操作:

(1)去列表交集

#!/usr/bin/env python# -*- coding:utf-8 -*-# Authon:Jerry Zlist_1 = set([1,3,4,5,6])list_2 = set([1,5,11,23])print("并集")print(list_2.union(list_1))print(list_1 | list_2)print("交集")print(list_1.intersection(list_2))print(list_2 & list_1)print("差集") # in list1 not in list2print(list_2.difference(list_1))print(list_2 - list_1)print(list_1.difference(list_2))print(list_1 - list_2)print("对称差集")print(list_2.symmetric_difference(list_1))print(list_1 ^ list_2)print("子集")list_3 = set([3,6])print(list_3.issubset(list_1))print("父集")print(list_1.issuperset(list_3))print("是否有交集的方法,没有交集放回True否则返回False")print(list_2.isdisjoint(list_3))print(list_3.isdisjoint(list_1))for x in list_1:    print(x)

print("基本操作")
print("添加")
list_4 = set([9,1,2,3,4])
list_4.add(5) #添加一项
print(list_4)

list_4.update([6,7,8]) #添加多项
print(list_4)

print("使用remove可以删除一项,这项不存在的报错")
list_4.remove(8)
print(list_4)

print("len(s)长度")
print("x in s测试x是不是在s中,x可以是列表 字符 元组等")

print("pop删除任意一个")
list_4.pop()
print(list_4)

二 文件操作

1.文件操作流程:打开->操作->关闭

2.文件基本操作:

print("文件基本操作")# data = open("yesterday",encoding="utf-8").read()# # data = open("yesterday").read()# print(data)f = open("yesterday","r",encoding="utf-8") #文件句柄data = f.read()#第一遍读data2 = f.read()# 此处是从第一遍读取结尾的地方开始读取。所以文件第一遍读取之后再读取就没内容了print(data)print("---------data2----%s---" % data2)f.close()print("写")f2 = open("yesterday2","a",encoding="utf-8") #文件句柄f2.write("我爱北京天安门\n")f2.write("天安门上太阳升\n")# data3 = f2.read() #不能读取# print("-------data3:",data3)f2.close()print("*****************")‘‘‘模式:    w:是重新创建一个,之前的会覆盖    a:a = append,往后追加不覆盖原来内容,也不能读取‘‘‘f3 = open("yesterday","r",encoding="utf-8")# for index,line in enumerate(f3.readlines()):#     if index == 9:#         print("------------------不打印----------------")#         continue#     print(line.strip())‘‘‘enumerate缺陷是先读到内存才开始循环,读取到内存需要时间等待,如文件太大会超过内存所以enumerate只适合处理小文件‘‘‘# print("-----------*******------------")# list1 = f3.readlines()# for index in range(len(list1)):#     if index == 9:#         print("------------------不打印----------------")#         continue#     print(list1[index].strip())#print("高效取文件每行的方法")print("-----------*******------------")count = 0for line in f3:    if count == 9:        print("------------------不打印----------------")        count += 1        continue    print(line.strip())    count += 1f3.close()f4 = open("yesterday","r",encoding="utf-8")print("tell返回读取文件时候的指针,打印当前位置")print(f4.readline())print(f4.tell())print("seek将指针设置指定位置")f4.seek(4)print(f4.readline())print("打印编码格式")print(f4.encoding)print("fileno系统处理文件的接口编号")print(f4.fileno())print("seekable是否可移动指针")print(f4.seekable())print("readable文件是否可读")print(f4.readable())print("flush刷新存入硬盘")print(f4.flush())f5 = open("yesterday3","a",encoding="utf-8")f5.seek(5)# f5.truncate(10)#从文件开头截取 后面的删掉,seek失效print("********文件的修改********")print("r+:读写")f6 = open("yesterday3","r+",encoding="utf-8")print(f6.readline())print(f6.readline())print(f6.readline())f6.write("\nr+读写操作\n")print("w+:写读")f7 = open("yesterday4","w+",encoding="utf-8")f7.write("aaaa写读操作\n")f7.write("aaaa写读操作\n")f7.write("aaaa写读操作\n")print(f7.tell())f7.seek(10)print(f7.readline())f7.write("aaaaaaaaaaaaa\n")f7.close()print("a+:追加读写")print("rb:二进制格式读文件。使用的情况:1网络传输 socket等 python3 只用用二进制 python2还可以用字符 2 打开对应的文件。二进制文件操作用对应的操作符")f8 = open("yesterday4","rb")print(f8.readline())print(f8.readline())print(f8.readline())f9 = open("yesterday5","wb")f9.write("Hello binary".encode())print("文件的修改")"""1 vim2 读取文件重新存入新的文件"""f10 = open("yesterday","r",encoding="utf-8")f11 = open("yeterday6","w",encoding="utf-8")for line in f10:    if "愚蠢的游戏" in line:        # line = "我享受生命 视其为快乐的游戏\n"        line = line.replace("我戏弄生命 视其为愚蠢的游戏","我享受生命 视其为快乐的游戏")    f11.write(line)f10.close()f11.close()print("with数据,可以避免文件忘记关闭,自动关闭忘记")with open("yesterday7","w",encoding="utf-8") as f1 ,        open("yesterday8", "w", encoding="utf-8") as f2 :    f1.write("dddd")    f2.write("dddd")

Python学习-初学入门3

评论关闭