一.处理日期时间
(1)取系统时间:
代码如下:
from datetime import datetime now = datetime.now() print(now) print(now.hour) print(now.day)
结果如下:
2018-10-22 09:04:06.253064
(2)转换成 "2017年9月30日星期六10时28分56秒" 格式字符串
代码如下:
from datetime import datetime now = datetime.now() print(‘{0:%Y}年{0:%m}月{0:%d}日星期{0:%w} {0:%H}时{0:%M}分{0:%S}秒‘.format(now))
结果如下:
2018年10月22日星期1 10时59分50秒
(3)2018-10-25 22:00 转换成一个日期时间变量
代码如下:
from datetime import datetime cday = datetime.strptime(‘2018-10-25 22:00‘, ‘%Y-%m-%d %H:%M‘) print(cday)
结果如下:
2018-10-25 22:00:00
(4)计算两者的间隔
代码如下:
print(cday - datetime.now())
结果如下:
3 days, 10:41:15.555198
二、问题:
(1)用列表+循环实现,并包装成函数
代码如下:
def sq(n): a = list(range(n)) b = list(range(0,5*n,5)) c = [] for i in range(len(a)): c.append(a[i]**2 + b[i]**3) return c sq(10)
结果如下:
[0, 126, 1004, 3384, 8016, 15650, 27036, 42924, 64064, 91206]
(2)用numpy实现,并包装成函数
代码如下:
import numpy as np def py(n): a = np.arange(n) b = np.arange(0,5*n,5) c = a**2 + b**3 return c py(10)
结果如下:
array([ 0, 126, 1004, 3384, 8016, 15650, 27036, 42924, 64064, 91206], dtype=int32)
(3)对比两种方法实现的效率,给定一个较大的参数n,用运行函数前后的timedelta表示。
代码如下:
from datetime import timedelta,datetime t1 = datetime.now() sq(10000) t2 = datetime.now() print(t2-t1) t3 = datetime.now() py(10000) t4 = datetime.now() print(t4 - t3)
结果如下:
0:00:00.009001 0:00:00.001000
三.尝试把a,b定义为三层嵌套列表和三维数组,求相对应元素的ai2+bi3
对比两种数据类型处理方法及效率的不同。
代码如下:
原文:https://www.cnblogs.com/aojt/p/9829106.html