Python-字典使用

  1. 创建:字典可嵌套
    {key1:value1,key2:value2}
    说明:字典是由多个键以及其对应的值组成的键值对组成的,字典以左大 括号开始,并以右大括号结束,键与值之间用冒号分隔,键值对儿之间用 逗号分隔;
    注意:字典中的键是唯一的
  2. 基本操作
    通用的有:
    len[d] , d[k] = v , del d[k] , k in d
    特点:
    第一点:键(key)的类型任意
    第二点:自动添加,key不存在的时候自动添加
    第三点 : 成员资格, k in d 找的是key,不是值value,而list中v in l 找的是value
  3. 字典方法:

    • clear:
      说明:用于清除字典中全部的键值对儿,调用完该方法后,原字典变成一 个空字典;
      注意:该方法直接操作原字典,调用后不返回值(或者说直接返回 None )

    • get:
      说明:是个更宽松的访问字典项的方法,如果键在字典中,则返回值, 如果不在,返回空,也可以给不存在的键指定默认值
      说明:可以检查字典中是否含有给出的键,python3中已经 不 包含此 项,可以用 k in dict 的方式代替

    • items和iteritems:
      说明:items以列表方式返回字典中的键值对,iteritems以迭代器对象 返回键值对儿(Python3中不再支持)

    • keys和iterkeys:
      说明:返回字典中的 键,iterkeys返回键的迭代器

    • pop:
      用于获取给定键的值,并将该键值对从字典中移除
    • popitem:
      说明:用于随机弹出字典中的键值对儿;可以用于清除一个字典
    • update:
      说明:将新字典中的键值对儿更新到原字典中,如果新字典中有的键值 对儿,原字典中没有,则会在原字典中增加新键值对儿;
    • values和itervalues:
      参考上面的keys,items
    • copy和deepcopy:
      说明:用于创建一个新的字典,用两种复制方法:copy和deepcopy
      注意:
      copy在复制过程中,如果字典中的 值 对象是复杂对象,如列表, 字典等等,则拷贝完后,新的字典中的 值 指向的还是原字典中的 对象,所以修改新对象中的 值 ,同时也是修改原字典中的值,但 是如果字典中的对象是普通类型,如是数字,字符串等,则修改新字 典不会影响原字典。
      copy 浅层复制
      deepcopy 深层复制
例子:
 1:  #copy的用法和效果

 2:  >>> x = {'Name' : 'Bill', 'Colors': {'red', 'green', 'blue'}}

 3:  >>> y = x.copy()

 4:  >>> y

 5:  {'Colors': ['blue', 'green', 'red'], 'Name': 'Bill'}

 6:  #删除颜色列表中的 ‘red’

 7:  >>> x['Colors'].remove('red')

 8:  >>> x

 9:  {'Colors': ['blue', 'green'], 'Name': 'Bill'}

10:  #y字典中的颜色列表也发生的改变

11:  >>> y

12:  {'Colors': ['blue', 'green'], 'Name': 'Bill'}

13:  >>> 

14:  

15:  

16:  #deepcopy的用法和效果

17:  >>> from copy import deepcopy

18:  >>> x = {'colors':['red','green','blue'],'name':'Bill'}

19:  >>> x

20:  {'colors': ['red', 'green', 'blue'], 'name': 'Bill'}

21:  #将x深拷贝给y

22:  >>> y = deepcopy(x)

23:  >>> y

24:  {'colors': ['red', 'green', 'blue'], 'name': 'Bill'}

25:  #修改x

26:  >>> x['colors'].remove('red')

27:  >>> x

28:  {'colors': ['green', 'blue'], 'name': 'Bill'}

29:  #y没有发生改变

30:  >>> y

31:  {'colors': ['red', 'green', 'blue'], 'name': 'Bill'}

32:  >>> 

33:  、`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值