python' s fifth day for me dict

字典 dict :

      key--vlaue

      储存大量的数据,而且是关系型数据,查询速度快(二分查询)

数据类型分类:

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

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

          字典的键: 不可变数据类型。

          字典的值: 任意数据类型。

      容器类型:

          容器类(承载各种数据类型):list , tuple , dict

字典的键是唯一的。

字典的顺序:

      3.5之前,字典是无序的。

      3.6开始,字典创建的时候,按照一定的顺序插入数值,看起来是有序的。

字典的  增 删 改 查

   增

      第一种:有则覆盖,无则添加。

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 print(dic)
7 dic['name'] = '懒笨呆'
8 dic['addr'] = '学校'
9 print(dic)

       第二种:无则添加,有则不变。

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 print(dic)
7 dic.setdefault('name','懒笨呆')
8 dic.setdefault('addr','学校')
9 print(dic)

    删   pop(key)  有返回值,如果删除的是不存在的键会报错,所以一般自定义返回内容

一般定义为None. pop(key,None)

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 print(dic.pop('hobby'))
7 print(dic.pop('addr',None))
8 print(dic)

      clear  清空字典内容,且保存空字典。

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 dic.clear()
7 print(dic)

     del  删除字典或者指定键删除。

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 # del dic
7 # print(dic)
8 del dic['name']
9 print(dic)

     popitem    随机删除  返回删除的元组形式的键值对

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 dic.popitem()
7 print(dic)

 

   改

          第一种:直接对已有的键进行赋值。覆盖原有的value.

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 dic['name'] = '懒笨呆'
7 print(dic)

       第二种:update    两个字典(dic,dic2),dic.update(dic2) ,  dic2 不变。dic2 直接将 dic 中原有的键值对覆盖  并且将 dic2 多出来的键值对添加到 dic 中。

 1 dic = {
 2     'name':'顾清秋',
 3     'age':'17',
 4     'hobby':'Msusic'
 5        }
 6 dic2 = {
 7         'name':'懒笨呆',
 8         'addr':'学校'
 9        }
10 dic.update(dic2)
11 print(dic2)
12 print(dic)

      查   dict [key]   如果key不存在,则会报错。

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 print(dic['name'])
7 print(dic['name1'])

         get(key)  有返回值,默认返回None,可以自定义返回值。get(key,'返回值')

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 print(dic.get('name1'))
7 print(dic.get('name1','没有此键值对'))

     values()   key()  items()  将字典转换成类似列表的类。

 1 dic = {
 2     'name':'顾清秋',
 3     'age':'17',
 4     'hobby':'Msusic'
 5        }
 6 # print(dic.values())
 7 # for i in dic.values():
 8 #     print(i)
 9 # print(dic.keys(),type(dic.keys()))
10 # for i in dic.keys():
11 #     print(i)
12 print(dic.items(),type(dic.items()))
13 for i in dic.items():
14     print(i)

 特殊类型 dict 转换成 list

1 dic = {
2     'name':'顾清秋',
3     'age':'17',
4     'hobby':'Msusic'
5        }
6 print(dic.values())   #转化成类似于列表的特殊类型
7 print(list(dic.keys()))  #特殊类型转换成列表

 概念: 分别赋值

1 a,b = 2,3
2 print(a,b)
3 a,b = (2,3)
4 print(a,b)
5 a,b = [2,3]
6 print(a,b)

 

posted @ 2018-03-22 17:22  Qingqiu_Gu  阅读(222)  评论(0编辑  收藏  举报