字典

字典

1.基本结构键值对方式

dic = {
   "k1": "v1", # 键值对
   "k2": "v2"
}

2.字典的value可以是任何值

dic = {
    "k1": 18,  #数字
    "k2": True,#布尔值
    "k3": [    #列表
        11,
        [],
        (),
        22,
        33,
        {     #字典
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],       #元组
    "k4": (11,22,33,44)
}

3.列表、字典不能作为字典的key;特殊说明:布尔值可以当字典的key

dic ={
    3: 'asdf',
    "k1": 'asdf',
    True: "123",
    [11,22]: 123  #列表不可以当key
    (11,22): 123,    
    {'k1':'v1'}: 123   #字典不可以当key
    #因为列表和字典都可以修改,而元组不能
}

4.字典是无序的

5.索引方式找到指定元素

dic = {
    "k1": 18,
    2: True,
    "k3": [
        11,
        [],
        (),
        22,
        33,
        {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],
    "k4": (11,22,33,44)
}
v = dic['k1']
print(v)    #通过key找到value
v1 = dic['k3'][5]['kk3'][0]
print(v1)   #value下是列表,可以通过索引的方式查找

6.字典支持 del 删除

dic = {
    "k1": 18,
    2: True,
    "k3": [
        11,
        [],
        (),
        22,
        33,
        {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],
    "k4": (11,22,33,44)
}
del dic['k1']
del dic['k3'][5]['kk1']
print(dic)

7.for循环

dic = {
    "k1": 18,
    2: True,
    "k3": [
        11,
        [],
        (),
        22,
        33,
        {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],
    "k4": (11,22,33,44)
}
for k,v in dic.items():
    print(k,':',v)    #遍历key和values
for k in dic:
    print(k)    #默认遍历key值
for v in dic.values():
    print(v)    #选择遍历value值

常用方法:

1.创建字典,并指定统一值

v = dict.fromkeys(["k1",123,"999"],123)
print(v)
输出:{'k1': 123, 123: 123, '999': 123}

2.根据Key获取值,key不存在时,可以指定默认值(None)

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
v = dic.get('k3')
print(v)

#输出None

v1 = dic.get('k4','zhang')
#输出zhangsan

3.删除,并获取值

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
v = dic.pop('k3',100)  #删除k3对应的value,如果
print(dic,v)
k,v = dic.popitem() #随机删除字典中的一个键值对,并且返回该键值
print(dic,k,v)

4.设置值

已存在,不设置,获取当前key对应的值 ,不存在,设置,获取当前key对应的值

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
v = dic.setdefault('k1','123')  # 已存在,不设置,获取当前key对应的值
print(dic,v)
v1 = dic.setdefault('k4','234') #不存在,设置,获取当前key对应的值
print(dic,v1)

5.更新值

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
dic.update({'k1':'update'})
print(dic)
原文地址:https://www.cnblogs.com/z-j-h/p/12023660.html