## r+ 模式: 读,并追加,不管前面读多少字符,都是追加到原文件最后# f = open('rfile',mode='r+',encoding='utf-8')# content = f.read(6)# print(f.tell())# f.write("R+模式")# print(content)# f.close()
## r+ 模式: 读,并追加,不管前面读多少字符,都是追加到原文件最后 # f = open('rfile',mode='r+',encoding='utf-8') # content = f.read(6) # print(f.tell()) # f.write("R+模式") # print(content) # f.close()
# truncaate() ,必须有写入权限# with 主动关闭文件甸柄,可多打多个文件# with open('1.txt',encoding='utf-8') as f1, \# open('2.txt',encoding='utf-8') as f2:# for x in f1.readlines(): # 缩进 readlines()是一次性工作,读入内存后迭代完成就没有了# for y in f2.readlines():# print(x.strip() + y.strip())# with open('1.txt',encoding='utf-8') as f1, \# open('2.txt',encoding='utf-8') as f2:# for x in f1.readlines():# for y in f2.readline():# print(x.strip() + y.strip())
# truncaate() ,必须有写入权限 # with 主动关闭文件甸柄,可多打多个文件 # with open('1.txt',encoding='utf-8') as f1, \ # open('2.txt',encoding='utf-8') as f2: # for x in f1.readlines(): # 缩进 readlines()是一次性工作,读入内存后迭代完成就没有了 # for y in f2.readlines(): # print(x.strip() + y.strip()) # with open('1.txt',encoding='utf-8') as f1, \ # open('2.txt',encoding='utf-8') as f2: # for x in f1.readlines(): # for y in f2.readline(): # print(x.strip() + y.strip())
列表的sort()操作:注意事项
key = lambda x: x+1 print(key(15)) ls = [1,5,8,2,3] ls.sort() print(ls) key = lambda x,y : x+y # 通过lambda定义了一人匿名函数, x , y 开参列表, :后面的 x+y 是函数体,返回值 是 x + y 的和 print(key(3,5)) # mylist = ['1','5','3','2','7','6','13','11',1] # 列表中的元素是字符 # mylist.sort() # 没有返回值, 直接对原列表进行操作 # print(mylist) # TypeError: '<' not supported between instances of 'int' and 'str' 不支持对同时含有 字符串 和 整数 的列表进行排序 numList = [1,3,5,8,11,2,4] numList.sort() print(numList) # [1, 2, 3, 4, 5, 8, 11] strList = ['a','1','b','5','14'] strList.sort() print(strList) # 输出 ['1', '14', '5', 'a', 'b'] # numAndstr_list = [ 1,8,3,'a','Y'] # numAndstr_list.sort() # 通过实验,再次验证 进行排序操作时,列表中元素的类型不能是混合型 TypeError: '<' not supported between instances of 'str' and 'int'
list = ['1','11','31','3','5','9']list.sort()print(list) # 输出结果 ['1', '11', '3', '31', '5', '9'] 由于列表中的元素是字符串类型 ,sort()操作是字符的ASCII码排序的,并且是从小到大排序的# 问题来了,如果我想对元素是字符串类型的列表,想按照数字大小的从小到大排序,怎么办呢?list.sort(key = lambda x: int(x))print(list) # 输出结果 ['1', '3', '5', '9', '11', '31']list.sort(key = lambda x:int(x),reverse=True)print(list) # 输出结果 ['31', '11', '9', '5', '3', '1'] 从大到小排序 [['11', 'YY'], ['2', 'chris'], ['1', 'jiayong']]
# 再次升级 ,对于列表,里面套列表呢?myList = [ ['1','jiayong'],['2','chris'],['11','YY']]myList.sort()print(myList) # 默认是按照列表里的列表元素的第一个元素,按字符串的ASCII码排序的# myList.sort(key = lambda x: int(x[0])) [['1', 'jiayong'], ['11', 'YY'], ['2', 'chris']]# print(myList) # [['1', 'jiayong'], ['2', 'chris'], ['11', 'YY']]myList.sort( key = lambda x: int(x[0]),reverse=True)print(myList) # [['11', 'YY'], ['2', 'chris'], ['1', 'jiayong']]
来源:https://www.cnblogs.com/chris-jia/p/9469197.html