字典
字典的定义:{}内用逗号分隔开多个key:value,其中value可以是任意类型,而key必须是不可变类型
字典的类型
T1 = {"k1": '123', "k2": "233"}
print("Type_Of_T1", type(T1))
# 运行结果为Type_Of_T1 <class 'dict'>
字典的类型转换如下:
- 循环将列表转为字典
info =[['name','egon'],['age',18],['gender','male']]
d= {}
for item in info:
d[item[0]]=item[1]
print(d)
# 运行结果为{'name': 'egon', 'age': 18, 'gender': 'male'}
- 用dict函数将列表转为字典
D = dict(info)
print(D)
# 运行结果为{'name': 'egon', 'age': 18, 'gender': 'male'}
- 快速初始化一个字典
keys = ["name", "age", "gender"]
d = {}
for k in keys:
d[k] = None
print(d)
# 运行结果为{'name': None, 'age': None, 'gender': None}
字典的内置方法
01-字典的增加
T1 = {"k1": '123', "k2": "233"}
# 按Key存取值
print(T1['k1'])
# 针对赋值操作,key存在,则修改key对应位置的值
T1['k3']='我是新建的'
print(T1)
# 运行结果为{'k1': '123', 'k2': '233', 'k3': '我是新建的'}
02-字典的统计
print(len(T1))
# 运行结果为3,字典统计key的个数
03-字典的成员运算
T1 = {"k1": '123', "k2": "233"}
print("k1" in T1)
print("123" in T1)
'''
运行结果为:
True
False
字典的成员运算针对的是"key",而不是"value"
'''
04-字典的删除
- del方法删除
T1 = {"k1": '123', "k2": "233"}
del T1["k1"]
print(T1)
# 运行结果为{'k2': '233'}
- pop()方法删除
T1 = {"k1": '123', "k2": "233"}
T1.pop("k1")
print(T1)
# 运行结果为{'k2': '233'},pop()中传入"Key"参数
- popitem()方法删除
T1 = {"k1": '123', "k2": "233"}
T1.popitem()
print(T1)
# 运行结果为{'k1': '123'},popitem()随机删除,返回一个元组,放的是刚刚删的key与value
05-字典的清空
T1 = {"k1": '123', "k2": "233"}
T1.clear()
print(T1)
# 运行结果为{},直接清空了
06-字典的更新
T1 = {"k1": '123', "k2": "233"}
T2 = {"k3": '345', 'k4': '456'}
T1.update(T2)
print(T1)
# 运行结果为{'k1': '123', 'k2': '233', 'k3': '345', 'k4': '456'}
# 用新字典更新老字典
07-字典的取值
T1 = {"k1": '123', "k2": "233"}
T2 = {"k3": '345', 'k4': '456'}
print(T1.get("k1"))
# 运行结果为123
print(T1.get("k5"))
# 运行结果为None
08-字典的默认设置
info = {"name":"clin","age":"18","gender":"male"}
if "name" in info:
...
else:
info["name"]=input("please input your name")
# 以上代码的同等功能代码如下
info.setdefault("name","123")