字典的基本方法
desired_caps = {
"系统名": "安卓",
"系统版本": "9",
"设备名": "IP:PORT"
}
""" 1 获取key,并且遍历"""
print(desired_caps.keys(),type(desired_caps.keys()))
for i in desired_caps.keys():
print(i)
""" 2 获取value,并且遍历"""
print(desired_caps.values(),type(desired_caps.values()))
for i in desired_caps.values():
print(i)
""" 3 获取key和value,并且遍历"""
print(desired_caps.items(),type(desired_caps.items()))
for i in desired_caps.items():
print(i[0],i[1])
""" 4 根据键获取值"""
print(desired_caps.get("系统名"))
""" 5 根据key删除value"""
desired_caps.pop("系统名")
print(desired_caps)
""" 6 新增数据"""
desired_caps.update({"系统名": "安卓"})
desired_caps.update({"包名": "考研帮", "其他": {"活动名": "主界面","不重置": "是"}})
print(desired_caps)
""" 7 拷贝字典"""
copy_dict = desired_caps.copy()
print(copy_dict)
"""8 清除字典中所有的项,返回 {}"""
desired_caps.clear()
print(desired_caps)
""" 9 创建字典"""
dict_key = ("001","002","003")
dict_value = ("王守仁","于谦")
create_dict = {}
print(create_dict.fromkeys(dict_key)) # 没有value,默认为None
print(create_dict.fromkeys(dict_key,dict_value)) # 有value,所有key的value相同
"""【执行结果 9】
{'001': None, '002': None, '003': None}
{'001': ('王守仁', '于谦'), '002': ('王守仁', '于谦'), '003': ('王守仁', '于谦')}
"""
""" 10 删除末尾的键值对"""
desired_caps = {
"001": "徐 达",
"002": "常遇春",
"003": "李文忠",
"004": "沐 英",
"005": "邓 愈",
"006": "汤 和"
}
compare_dict = desired_caps.copy()
for i in range(1,7):
desired_caps.popitem()
for j in compare_dict.keys():
if j not in desired_caps.keys():
print(f"'{j}':'{compare_dict[j]}'",end="\t\t")
print("",end="\n")
print(desired_caps)
""" 11 setdefault(key,default=None)
如果字典有这个key,返回它的value;
如果字典无这个key,新增这个key,并且value为default的实参
"""
print(desired_caps.setdefault("001"))
print(desired_caps.setdefault("000","朱元璋"))
print(desired_caps)
"""【执行结果 11】
徐 达
朱元璋
{'001': '徐 达', '002': '常遇春', '003': '李文忠', '004': '沐 英', '005': '邓 愈', '006': '汤 和', '000': '朱元璋'}
"""
拷贝和赋值不同
desired_caps = {
"001": "徐 达",
"002": "常遇春",
"003": "李文忠",
"004": "沐 英",
"005": "邓 愈",
"006": "汤 和"
}
# 深拷贝的字典
copy_dict = desired_caps.copy()
# 赋值的字典
assign_dict = desired_caps
desired_caps.popitem()
print(copy_dict)
print(assign_dict)
"""【执行结果】
{'001': '徐 达', '002': '常遇春', '003': '李文忠', '004': '沐 英', '005': '邓 愈', '006': '汤 和'}
{'001': '徐 达', '002': '常遇春', '003': '李文忠', '004': '沐 英', '005': '邓 愈'}
"""
# 字符串转换成时间
import time
cur_time = "2021-5-20 13:14:52"
conv_time = time.strptime(cur_time, "%Y-%m-%d %H:%M:%S")
print(conv_time,type(conv_time))
"""【结果】
time.struct_time(tm_year=2021, tm_mon=5, tm_mday=20, tm_hour=13, tm_min=14, tm_sec=52, tm_wday=3, tm_yday=140, tm_isdst=-1) <class 'time.struct_time'>
"""
# 1 返回一个【时间类】或【9元组】
gotten_time = (2009, 2, 17, 17, 3, 38, 1, 48, 0)
conv_sec = time.mktime(gotten_time)
print(conv_sec,type(conv_sec))
res_time = time.localtime(conv_sec)
print(res_time,type(res_time))
form_time = time.strftime("%Y/%m/%d %H:%M:%S",res_time)
print(form_time,type(form_time))
"""【结果】
1234861418.0 <class 'float'>
time.struct_time(tm_year=2009, tm_mon=2, tm_mday=17, tm_hour=17, tm_min=3, tm_sec=38, tm_wday=1, tm_yday=48, tm_isdst=0) <class 'time.struct_time'>
2009/02/17 17:03:38 <class 'str'>
"""