一些好用的函数或方法
一、zip
zip函数可以把两个函数压缩在一起,然后返回一个内含元组的列表。如果两个序列不等长,当最短的序列用完时就会停止。
示例代码:
names = ['dnfag','anne','damon','Jhon','David']
ages = [20,25,30,35,40,45]
for name,age in zip(names,ages):
print(f'{name} is {age} years old')
返回结果:
dnfag is 20 years old
anne is 25 years old
damon is 30 years old
Jhon is 35 years old
David is 40 years old
二、enumerate
enumerate函数可以获取列表对应的索引和元素:
示例代码:
names = ['dnfag','anne','damon','Jhon','David']
for index,name in enumerate(names):
print(index,name)
返回结果:
0 dnfag
1 anne
2 damon
3 Jhon
4 David
enumerate函数用于字典时也可以获取到字典的key及对应的索引,而且是按原来的顺序排列好的,如果想按字典的原顺序读取数据,这个还是有用处的:
names = {'dnfag':20,'anne':25,'damon':30,'Jhon':35,'David':40}
for index,name in enumerate(names):
print(index,name)
print(name,names[name])
返回结果:
0 dnfag
dnfag 20
1 anne
anne 25
2 damon
damon 30
3 Jhon
Jhon 35
4 David
David 40
三、isinstance
isinstance 用来判断一个对象是否是一个已知的类型。函数返回值是布尔值。若对象的类型是已知类型,那么就返回True.否则返回False.用法:
isinstance(对象,对象类型)
对象类型有:int,float,bool,str,list,turple,set,dict
对象类型可以有多个,只要一个符合就返回True.如:
a = "abc" isinstance(a,(int,str,float))
会返回True
四、pickle
pickle模块实现了基本的数据序列化和反序列化。通过pickle模块的序列化操作,我们能够将程序中运行的对象信息保存到文件中并永久存储。通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象
1 import pickle 2 data0 = "Hello World" 3 data1 = list(range(20))[1::2] 4 data2 = ("x","y","z") 5 data3 = {"a":data0,"b":data1,"c":data2} 6 7 print(data0) 8 print(data1) 9 print(data2) 10 print(data3) 11 12 #序列化 13 output = open("data.pk1","wb") 14 pickle.dump(data0,output) 15 pickle.dump(data1,output) 16 pickle.dump(data2,output) 17 pickle.dump(data3,output) 18 output.close() 19 #反序列化 20 pkl_file = open("data.pk1","rb") 21 data0 = pickle.load(pkl_file) 22 data1 = pickle.load(pkl_file) 23 data2 = pickle.load(pkl_file) 24 data3 = pickle.load(pkl_file) 25 26 print(data0) 27 print(data1) 28 print(data2) 29 print(data3) 30 pkl_file.close()
返回结果:
Hello World
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
('x', 'y', 'z')
{'a': 'Hello World', 'b': [1, 3, 5, 7, 9, 11, 13, 15, 17, 19], 'c': ('x', 'y', 'z')}
Hello World
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
('x', 'y', 'z')
{'a': 'Hello World', 'b': [1, 3, 5, 7, 9, 11, 13, 15, 17, 19], 'c': ('x', 'y', 'z')}
浙公网安备 33010602011771号