字典及datetime模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典及datetime模块相关的知识,希望对你有一定的参考价值。

字典 dict

可变的、无序的、key不重复,key可哈希
 

定义方式

d1 = dict()
d1 = {}
d1 = {1:1,‘2‘:2,‘a‘:[3,4]}
d1 = dict([1,2),[‘a‘,300],{10,2}]) 必须是二元,{}key碰机会
d1 = dict(a=1,b=2,c=3)
d2 = dict(d1,f=100)
 
dict.fromkeys(range(10),‘abcd‘)
 

查找

d1.get(1,2):不会报错,没有返回none
d1.setdefault(9,1000):#返回key对应的value
#如果没找到自动创建k-v对并打印值
 

增加

d1.update ({1:100,2:200}) #已存在就覆盖,不存在添加
d1.update(((3,300),),a = ‘abc‘)
 

删除

d8.pop(key[,d]) #没有会报错,输入缺省值(返回值d)可以不报错
d8.popitem() #随机移除一个任意的键值对
d8.clear() #清空
del d8[key] #移除对应的k-v对
 
 

遍历(for循环)

for k in d5: #遍历key
print(k)
 
for k in d5.keys(): #遍历key(推荐这种,明确)
print(k)
 
 
for v in d5.values(): #遍历value
print(v)
 
for k in d5: #遍历value
print(d5[k])
 
for k in d5.keys():
print(d5.get(k)) #遍历value
 
 
for item in d5.items(): #item:k-v,entry 遍历k-v对
print(item)
 
 
for item in d5.items(): 遍历k-v对
print(item[0],‘~~~‘,item[1])
 
for k,v in d5.items():
print(k,v)
 
 

遍历删除:

先创建列表记录key,再遍历列表使用pop删除,不能直接遍历pop删除

 
 

创建工厂方法

缺省字典

from collections import defaultdict
import random
 
d1 = defaultdict(list) #value 构造为list
for k in ‘abcde‘:
for v in range(random.randint(1,5)):
d1[k].append(v)
print(d1)
 
 
form collections import OrderedDict
OrderedDict() #3.6以前使用,记录k-v对插入顺序
d1 = OrderedDict()
 
 

python解析式、生成器

 

标准库datetime

import datetime #导入模块
 
 

datetime模块

类方法
today()返回本地时区当前时间的datetime对象

 

时间测试:

start = datetime.datetime.now()
delta = (datetime.datetime.now() - start).total_seconds()
 
 
datetime.datetime.now() #返回一个时间的对象
datetime.datetime.fromtimestamp(1554798579) #按照时间戳计算当前时间
d.timestamp() #返回一个当前时间戳
 
d.isoweekday() #调用当前星期
d.date() #调用当前日期
d.time() #调用当前时间
 
strptim() #将str返回到datetime对象,解析实践对象
 
strftime(format) ,返回字符串
 
例;
d6 = datetime.datetime.strptime("2009,5,3,16,29,39",%y,%m,%d,%h,%m,%s)
 
 

标准库time

import time
time.sleep(5) #睡眠5秒后执行,将当前线程阻塞

以上是关于字典及datetime模块的主要内容,如果未能解决你的问题,请参考以下文章

python面试题

Python标准库datetime之date模块详解

Python datetime模块详解

python基础总结

sql sql datetime片段

shelve模块使用说明