字典(dict)

# # 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)

 

posted @ 2022-07-18 17:06  阿Qi早起了吗  阅读(125)  评论(0)    收藏  举报