# # dict
dict = {"k1": "v1",
"k1": "v2",
"k3": "v3"}
# # 字典的value可以是任何值
info = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
# # # 列表,字典不能作为字典的key
# # 布尔值(0,1),key不能重复
info ={
1: 'asdf',
"k1": 'asdf',
True: "123",
# [11,22]: 123
(11,22): 123,
# {'k1':'v1'}: 123
}
print(info)
info = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
print(info)
print(info['k1'])
print(info['k3'][5]['kk1']) #索引取值
# 字典无序,不能切片查找
# # 字典支持 del 删除
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
del info['k1']
del info['k3'][5]['kk1']
print(info)
# for循环
dict
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for item in info:#默认循环key
print(item)
for item in info.keys():
print(item)
for item in info.values():
print(item)
for item in info.keys():
print(item,info[item])
for k,v in info.items():
print(k, v)
# # 根据序列,创建字典,并指定统一的值
v = dict.fromkeys(["k1",123,"999"])#{'k1': None, 123: None, '999': None}
print(v)
v = dict.fromkeys(["k1",123,"999"], 123)#{'k1': 123, 123: 123, '999': 123}
print(v)
dic = {
"k1": 'v1',
"k2": 'v2'
}
# # 根据Key获取值,key不存在时,程序报错
v = dic['k1']
print(v)
# 根据Key获取值,key不存在时,可以指定默认值(None)
v = dic.get('k1', 111111)
print(v)
# # 删除并获取值
dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.pop('k1')
# v = dic.pop('k11111') #程序报错
v = dic.pop('k11111', 90)#删除的key值不存在时,返回默认值
print(dic, v)
k,v = dic.popitem()
print(dic, k, v)
# # 设置值,
# # 已存在,不设置,获取当前key对应的值
# # 不存在,设置,获取当前key对应的值
dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.setdefault('k1','123')
print(dic,v)
v = dic.setdefault('k1111','123')
print(dic,v)
# # 更新
dic = {
"k1": 'v1',
"k2": 'v2'
}
dic.update({'k1': 'yoki','k2': 22})
print(dic)
dic.update(k1=123,k3=345,k5="asdf")# **kwargs默认转换成字典
print(dic)