一些好用的函数或方法

一、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')}

posted @ 2022-11-29 16:12  donfag  阅读(38)  评论(0)    收藏  举报