python基本数据类型之字典(一)(day6)

dict的基本功能:

1、字典结构:以[]为语法,包括键值对(键:值)且以(,)逗号分隔。

info = {                # k1 k2 k3 k4为键                      
    "k1": 18,             # :后面分别为值    逗号为分隔符
    "k2": True,                     # 数字,布尔值也可以作为键
    "k3": [
        11,
        [],
        (),
        22,
        33,
        {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],
    "k4": (11,22,33,44)
 
}

2、字典元素

  1.字典的值可以是任何值,也可多重嵌套。

  2.字典的键不可以是列表和字典。其他都可以

  (当True为键时,如果与字典内有1为键,两者冲突只存一方)

  3.字典元素是无序的。

  ps:python内部默认存储True = 1,False = 0

3、字典可通过键(key)索引获取,相对应的值。列表索引通过位置索引,两者方式不同。

info = {
    "k1": 18,
    "k2": True,
    "k3": [
        11,
        [],
        (),
        22,
        33,
        {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],
    "k4": (11,22,33,44)
 
}
v = info['k1']
print(v)

>>>18

4、字典是支持del 删除的

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

5、支持for循环,但一般默认循环得到键,也可默认循环得到值或者键值

info = {
    "k1": 18,
    "k2": True,
    "k3": [
        11,
        [],
        (),
        22,
        33,
        {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
        }
    ],
    "k4": (11,22,33,44)
 
}
for item in info:
    print(item)
 
 
>>>k4
>>>k2         info是字典类型
>>>k1           默认for循环只有key》》》for item in info.key() 
>>>k3               但是输出结果键每次排序都不同,因为字典是无序的

用for循环获取值》》》for item in info.values():……

用for循环获取键值》》》for k,y in info.item()……

 

字典重点方法:

get: 通过键获取值,与索引相似但get查找时如果不存在键,不会报错,输出设置的参数。

索引则直接报错。

dic = {1:11,2:22,3:33}
a = dic.get(1,None)
print(a)
>>>11

update:如果原本有键值对,则用参数值对替换原值;若不存在则添加键值对。

dic = {1:11,2:22,3:33}
dic.update({1:110,4:44})
#dic.update(1=110,4=44)此方式老版使用,目前不适用
print(a)
>>>{1:110,2:22,3:33,4:44}

keys: 以列表返回一个字典所有的键(循环用)

a = {1:11,2:22,3:33}
b = a.keys()
print(type(b),"\n",b)

>>><class 'dict_keys'> 
>>>dict_keys([1, 2, 3])

values: 以列表返回字典中的所有值(循环用)

a = {1:11,2:22,3:33}
b = a.values()
print(type(b),"\n",b)

>>><class 'dict_values'> 
>>> dict_values([11, 22, 33])

items: 以列表返回可遍历的(键, 值) 元组数组

a = {1:11,2:22,3:33}
b = a.items()
print(type(b),"\n",b)

>>><class 'dict_items'> 
>>>dict_items([(1, 11), (2, 22), (3, 33)])

 

posted @ 2019-05-25 20:33  大黑仔  阅读(228)  评论(0编辑  收藏  举报