字典

一、数据类型划分:

    不可变数据类型:元组、bool(布尔值)、int(整型)、str(字符串)     可哈希

    可变数据类型:list(列表)、dict(字典)、set(集合)  不可哈希

二、字典:

    字典的key 必须是不可变数据类型      可哈希

       value 任意数据类型

       字典都是无序的

    字典的增删改查

    dic1 = {'age':18,'name':'ts','sex':'man'}

    1.增

      dic1['age'] = 12    #如果之前有age值,则覆盖,如果没有则添加。

      dic1.setdefault('age',12)   #如果之前有age则不改变,如果没有则添加。

    2.删

      print(dic1.pop('age',None))   #删除这个key并且有返回值,如果没有这个Key不会报错,并且可以输出指定的返回值。

      print(dic1.popitem())     #随机删除,并且有返回值。

      dic1.clear()  #清空字典。

      del dic1   #删除字典。

      del dic1['name']   #删除字典中的Key,如果没有则报错,不推荐使用。

    3.改

      dic1['name'] = 'as'  #直接覆盖替换

      dic2 = {'name':'as','weight':22}

      dic2.update(dic)     #更新字典,有的覆盖,没有的添加。

    4.查

      print(dic1.keys())    #查看键
      print(dic1.values())   #查看值 
      print(dic1.items())    #查看键值对(元组)

      for i in dic1:      
        print(i)

      for i in dic1.values():
        print(i)    

      for i in dic1.items():    #元组
        print(i)

      for i,a in dic1.items():   #字符串
        print(i,a)

      print(dic1['name'])    #如果有则显示值,没有则报错,不推荐。

      print(dic1.get('name1','没有这个值')) #如果有显示值,没有不报错,显示返回值,可以设置返回值,推荐。

    5.字典嵌套      

      dic = {
        ‘name':['alex','wusir','taibai'],
        'py9':{
        'time':'1213',
        'learn_money':19800,
        'addr':'CBD',
          },
        'age':21
        }

      修改:dic['name'].append('ts')

      修改:dic['name'][0] = dic['name'][0].upper()

      添加:dic['py9']['hobby'] = 'nv'

    6.循环字典

dic = {'a': 1, 'b': 2}
for k,v in dic.items():
    print(k,v)


结果:
a 1
b 2

 

posted @ 2017-12-20 16:46  2009_boy  阅读(117)  评论(0编辑  收藏  举报