Python基础---容器字典Dict

 字典Dict(无序集合)

定义:一系列键值对元素组成的集合

     使用 {} 来表示

   字典不关心键值对的排列顺序,只关心键和值之间的关联关系

   PS:在Python3.6中,重写了字典,现在是有序的了

       https://stackoverflow.com/questions/39980323/are-dictionaries-ordered-in-python-3-6

创建字典:

  1、空字典: dict = {}

  2、带数据的字典:dict = {key1 : value1, key2 : value2, ...}

     其中:key值具有唯一性,且不可变(可使用 字符串string,数字int,元组tuple等)

        value值可以是Python中的任何对象,比如(int, string, list, dict等)

字典操作:

  1、访问:

   dict[key]

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 result = var['c']
3 print(result)
4 --->Callie

 

  2、删除:

     del dict/dict[key] 删除字典或key对应的value

   clear()           清空字典,得到一个空字典

   pop(key)     删除字典中制定的元素

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var.pop('a')
3 print(var)
4 --->{'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}

   popitem()      随机返回并删除字典中的一对键和值(一般删除末尾对)

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var.popitem()
3 print(var)
4 --->{'a': 'Alan', 'b': 'Brain', 'c': 'Callie'}

  3、添加 & 修改:

    dict[key] = value

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var['a'] = 'Ab'
3 print(var)
4 --->{'a': 'Ab', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
5 
6 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
7 var['e'] = 'Ed'
8 print(var)
9 --->{'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny', 'e': 'Ed'}

 

字典方法:

 

  1、len(dict)

  2、max(dict) & min(dict)  最大值和最小值,返回结果是字典的key;

                   如果key不是数字类型,则根据Ascii值比较

  3、和List,Tuple一样,同样具有推导式

字典的遍历:

  1、for key,value in dict.items()  遍历字典的键和值

      items()将字典转换为一个2级List容器,但是该List不是标准的列表类型

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 for key, value in var.items():
3     print(key + '-' + value)
4 --->a-Alan
5 --->b-Brain
6 --->c-Callie
7 --->d-Danny

  2、for key in dict.keys()  遍历字典的键,

                当然,不调用keys()方法,会默认遍历所有的键

                等价于 for key in dict

   3、for key in dict.values()   遍历字典的值

 

字典相关函数:

  1、clear()  清空

  2、copy()  复制

  3、fromkeys(seq, value)  

    创建一个新字典,以列表元素为键,value为对应的初始值

1 num = [1, 2, 3, 4, 5]
2 var = dict.fromkeys(num, 'Hello')
3 print(var)
4 {1: 'Hello', 2: 'Hello', 3: 'Hello', 4: 'Hello', 5: 'Hello'}

 

  4、get(key, default=None) 

    根据key得到对应的值,如果key不在字典中,返回默认值

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 print(var.get('a'))
3 --->Alan
4 print(var.get('e', 'Rrror'))
5 --->Rrror

  5、setdefault(key, default=None)  与get()类似;

      如果字典中key值存在,则返回该key对应的value

      如果key值不存在,则添加以key为键,default为值的键值对,并返回该键值对

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 new = var.setdefault('a', 'Wood')
3 new1 = var.setdefault('w', 'Wood')
4 print(new)
5 --->Alan
6 print(new1)
7 --->Wood

  6、update()  更新修改dict中的元素

           如果key值不存在,则会进行添加

           dict.update(key = value)

         or dict.update({key : value})  一般习惯使用导入字典

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var.update({'e': 'Elbert'})
3 var.update({'a': 'Abc'})
4 print(var)
5 --->{'a': 'Abc', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny', 'e': 'Elbert'}

嵌套:

  在开头的创建描述中,字典的值可以是List,Tuple甚至是Dict

1 city = {'河南': {
2                 '二线': '郑州',
3                 '三线': ['洛阳', '南阳'],
4                 '四线': ('开封', '许昌', '新乡')
5                 }
6         }

 

    

 

      

   

 

转载于:https://www.cnblogs.com/lambs/p/8469466.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值