print(zip(('a','b','c'),(1,2,3)))
print(list(zip(('a','b','c'),(1,2,3))))
#结果
<zip object at 0x00EBB0F8>
[('a', 1), ('b', 2), ('c', 3)]
p={'name':'alex','age':18,'gender':'no'}
zip(p.keys(),p.values())
print(list(zip(p.keys(),p.values())))
print(list(zip('hello','12345'))) #zip(序列,序列)
l=[1,3,100,-1,2]
print(max(l))
print(min(l))
people=[
{'name':'alex','age':1000},
{'name':'wupeiqi','age':10000},
{'name':'yuanhao','age':9000},
{'name':'linhaifeng','age':18}
]
age_dic={'age1':18,'age4':20,'age3':100,'age2':30}
print(max(age_dic.values()))
#默认比较的是字典的key
print(max(age_dic)
for item in zip(age_dic.values(),age_dic.keys()): #(18,'age1') (20,'age4') (100,'age3') (30,'age2')
print(item)
print(list(max(zip(age_dic.values(),age_dic.keys())))) #[100, 'age3']
l=[
(5,'e'),
(1,'b'),
(3,'a'),
(4,'d')
]
print(list(max(l)))
l1=['a10','b12','c10'] #不同类型之间不能比较
print(list(max(l1))) #['c', '1', '0']
people=[
{'name':'alex','age':1000},
{'name':'wupeiqi','age':10000},
{'name':'yuanhao','age':9000},
{'name':'linhaifeng','age':18}
]
print(max(people,key=lambda p:p['age']))
1、max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,
注意,不同类型之间不能进行比较
2、每个元素间进行比较,是从每个元素 的第一个位置依次进行比较,
如果这一个位置分出大小,后面的不需要比较,直接得出两元素的大小
min()同理
print(chr(97)) #a
print(ord('a')) #97
print(pow(2,3)) #2**3
print(pow(3,3,2)) #3**3%2
l=[1,2,3,4]
print(list(reverse(l)))
print(l)
print(round(3.5)) #四舍五入
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)
print(l[3:5])
l=[3,2,1,5,7]
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 p:p['age']))
name={
'alex':200,
'wupeiqi':300,
'yuanhao':900
}
print(sorted(name,key=lambda key:name[key]))
print(sorted(zip(name.values(),name.keys())))
l=[1,2,3,4]
print(sum(l))
print(sum(range(5)))
vars()两种用法,一种不加参数,一种加参数
def test():
msg='asdf'
print(locals())
test()
#与上相同
def test():
msg='asdf'
print(vars())
test()
print(vars(int))
#模块就是py文件
#在test.py 中定义一个函数say_hi
def say_hi():
print('你好蒋先森')
say_hi()
#然后在另一个py文件中调用这个函数
import test
test.say_hi()
#import不能导入字符串 _import_导入的是字符串类型
modul_name='test'
import modul_name #出错
m=_import_(modul_name)
m.say_hi()
#文件处理
文件处理流程
1、打开文件,得到文件句柄并赋值给一个变量
2、通过句柄对文件进行操作
3、关闭文件
#建一个文件:陈粒
打开文件
f=open('陈粒',encoding='utf-8') #open(绝对路径或者相对路径) 默认只读
data=f.read()
print(data)
f.close()
#建一个文件(以gbk形式保存):xxx
f=open('xxx') #调操作系统
data=f.read()
print(data)
#只读:r 只写:w 只追加:a
f=open('陈粒','r',encoding='utf-8')
data=f.read() #读取文件全部
print(f.readable()) #True
print(f.readline(),end='') #读第一行 去掉换行
print(f.readline()) #读第二行
print(f.readline()) #读第三行
data=f.readlines() #
print(data)
f.close()
#往文件里写东西
f=open('陈粒','w',encoding='utf-8') #先清空,在写,或者文件不存在,先新建文件
f.write('111111
')
f.write('222222')
f.write('33333
44444
555555
')
#f.writable()
f.writelines(['666666
','77777
']) #文件内容必须是字符串类型
f.close()
#文件追加
f=open('陈粒','a',encoding='utf-8')
f.write('88888
')
f.close()
#文件处理其他模式
f=open('xxx','r+',encoding='gbk')
print(f.read())
f.write('
蒋俊峰
')
f.close()
#改文件
src_f=open('xxx','r',encoding='gbk')
data=src_f.readlines()
print(data)
src_f.close()
for i in data:
print(i)
print(data)
dst_f=open('xxx_new','w',encoding='gbk')
#dst_f.write(str(data))
dst_f.write(data[0])
dst_f.close()
#自动关闭文件,不用手动关闭
with open('a.txt','w',) as f:
f.write('1111
')
with open('xxx','r',encoding='gbk') as src_f,
open('xxx_new','w',encoding='gbk') as dst_f:
2018-08-19