day17——其他内置函数

zip函数:

print(list(zip(('a','b','c'),(1,2,3))))
p={'name':'alex','age':18,'gender':'none'}
print(list(zip(p.keys(),p.values())))
print(list(p.keys()))
print(list(p.values()))
print(list(zip(['a','b'],'12345')))
l=[1,3,100,-1,2]
print(max(l))
dic={'age1':18,'age2':10}
print(max(dic))# 比较的是key
print(max(dic.values()))#比较的是key,但是不知道是哪个key对应的
print(max(zip(dic.values(),dic.keys())))
people=[{'name':'alex','age':1000},
        {'name': 'wupeiqi', 'age': 10000},
        {'name': 'yuanhao', 'age': 9000},
        {'name':'linhaifeng','age':18},
        ]
print(max(people,key=lambda dic:dic['age']))
# max(people,key=lambda dic:dic['age'])
print(max(people,key=lambda dic:dic['age']))
# ret=[]
# for item in people:
#     ret.append(item['age'])    #append() 方法用于在列表末尾添加新的对象
# print(ret)
# print(chr(400))  #打印在ASCII表中对应的字符
# print(ord('*')) #打印在ASCII表中对应的数字
# print(pow(10,3))
#print(pow(3,3,2))#3*3%2
# l=[1,2,3,4]
# print(list(reversed(l)))  #反转
#print(round(3.5))#四舍五入
#print(set('hello'))#变成集合的形式
# l='hello'
# s1=slice(3,5)
# s2=slice(1,4,2)
# print(l[s1])
# print(l[s2])
# print(s2.start)
# print(s2.stop)
# print(s2.step)
# l=[3,4,2,7,9,9]
# print(sorted(l))#排序本质上就是比较大小,不同类型之间不可以比较

people=[{'name':'alex','age':1000},
        {'name': 'wupeiqi', 'age': 10000},
        {'name': 'yuanhao', 'age': 9000},
        {'name':'linhaifeng','age':18},
        ]
print(sorted(people,key=lambda dic:dic['age']))

 文件操作的其他模式:

一:文件处理流程

#1. 打开文件,得到文件句柄并赋值给一个变量
#2. 通过句柄对文件进行操作
#3. 关闭文件
#1. 打开文件,得到文件句柄并赋值给一个变量
f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r

#2. 通过句柄对文件进行操作
data=f.read()

#3. 关闭文件
f.close()

二:打开文件的模式
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
f=open(r'C:\Users\active\PycharmProjects\untitled\Python全栈学习\The star',encoding='utf-8')
data=f.read()
print(f.readable())
print(data)
print('第一行',f.readline(),end='')#end=''表示去掉换行
print('第二行',f.readline())
print('第三行',f.readline())
data=f.readlines()
print(data)
f.close()
w,只写模式【不可读;不存在则创建;存在则清空内容】
文件写操作  w 先覆盖    ,写只能写字符串形式,不能使用其他类型
f=open(r'C:\Users\active\PycharmProjects\untitled\Python全栈学习\The star','w',encoding='utf-8')
f.write('1111111\n')
f.write('2222222\n')
f.write('3333\n4444\n5555\n')
f.writelines(['66666\n','77777\n'])   #传列表形式
a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
文件追加操作    a
f=open(r'C:\Users\active\PycharmProjects\untitled\Python全栈学习\The star','a',encoding='utf-8')
f.write('写到文件最后')

#1. 打开文件的模式有(默认为文本模式):
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】

#2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
rb 
wb
ab
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

#3. 了解部分
"+" 表示可以同时读写某个文件
r+, 读写【可读,可写】
w+,写读【可读,可写】
a+, 写读【可读,可写】


x, 只写模式【不可读;不存在则创建,存在则报错】
x+ ,写读【可读,可写】
xb

 

posted @ 2019-03-28 10:19  aggressive2019  阅读(122)  评论(0编辑  收藏  举报