书读百遍,其意自见,代码亦如是,无他,唯熟练尔。
装饰器之代码运行时间
1 # coding=utf8
2 # 使用装饰器实现统计一段代码的运行时间
3
4 import time
5
6 def w(func):
7 def inner():
8 s = time.time()
9 func()
10 e = time.time()
11 t = e-s
12 print('运行时间为%f'%t)
13 return inner()
14
15 @w
16 def f1():
17 n = 0
18 for i in range(101):
19 n += i
20 print(n)
运行结果
5050
运行时间为0.000068
文件路径
1 # coding=utf8
2 # 根据路径打印出路径下的文件夹以及文件的路径与名称
3 import os
4
5 def f1(p):
6 fs = os.listdir(p)
7 for f in fs:
8 temp_path = os.path.join(p,f)
9 if not os.path.isdir(temp_path):
10 print('文件:%s'%temp_path)
11 else:
12 print('文件夹:%s'%temp_path)
13 f1(temp_path)
14
15 path = '/home/python/Desktop/test'
16 f1(path)
运行结果
文件夹:/home/python/Desktop/test/03
文件:/home/python/Desktop/test/03/c.txt
文件:/home/python/Desktop/test/z.txt
文件夹:/home/python/Desktop/test/01
文件:/home/python/Desktop/test/01/a.txt
文件夹:/home/python/Desktop/test/02
文件:/home/python/Desktop/test/02/b.txt
两数之和之下标
1 # coding=utf8
2 # 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同
样的元素不能被重复利用。
3
4 # 求差值、把差值存进字典里作为键、索引作为值,第一次循环理解:d[7]=0 即字典d={7:0},表示为索引0需要数组里值为7的元素配对。 if 判断是否为前面元素所需要配对的值 , 是则返回两个索引值。(补充:nums[x] in d是判断值是否在字典某个key里面)
5
6 def f1():
7 l = [2,7,13,16]
8 t = 9
9 n = len(l)
10 d = {
}
11 for x in range(n):
12 # 差值
13 a = t-l[x]
14 # 如果有需要我作为差值的元素
15 if l[x] in d:
16 # 返回需要我的元素的下标,我的下标
17 return d[l[x]],x
18 else:
19 # 否则,把我需要的差值和我的下标作为键值对存进去
20 d[a]=x
21