一分钟带你学会Python中dict(字典)的相关操作

目录

一,dict类型及方法详解

二,用for循环去获取dict的key,value,(key,value)以及key和value并使用for循环去获取列表的下标以及下标对应的值

一,dict类型及方法详解

1.清理
  clear(self): # real signature unknown; restored from __doc__
                 真实签名未知;从文档恢复
                 D.clear() -> None.

214117faa2ce48778287be6e4fc69785.png

bfab4813fb1e4ff8b768e25a17c2cfb5.png
2.拷贝:1.字典中的元素是由两个部分组成 (key值和value值),所以他们也是占不同的空间,通过打印keys的id可以知道keys是以一个列表的形式存放于内存。
       2.浅拷贝拷贝的是父对象(但不包括父对象内的子对象),深拷贝拷贝所有对象(包括父对象中的子对象)。
浅拷贝:
copy(self): # real signature unknown; restored from __doc__
                真实签名未知;从文档恢复
                D.copy() -> a shallow copy of D
深拷贝:
deepcopy(self): # real signature unknown; restored from __doc__
                真实签名未知;从文档恢复
                copy.deepcopy(D) -> a deep copy of D 

aa286027d3f8454092584c8d56a80236.png
3d93ed5d86b041a6b6a597b108283ca5.png5583bd47b75b463bb3959446b242f744.png

注释:图示过于草率,在这里进行特别说明。区分深浅拷贝的方法:浅拷贝只会拷贝父对象但不会拷贝子对象,而深拷贝为全部复制会创建自己新的子对象。如果对拷贝前数据进行更改会有明显差异,浅拷贝会随着初始数据的变化而变化但是深拷贝不会。

3.get方法获取指定key的值 (注:使用get方法取值时,如果key不存在则会返回None)
       def get(self, *args, **kwargs): # real signature unknown
        Return the value for key if key is in the dictionary, else default.
        如果key在字典中,则返回key的值,否则为默认值

e1179269694844828539bf6a89e501ea.png
87363ab852484fc280d59ccb848110d9.png

4.items方法(以列表的形式返回键和值的元组)
      def items(self): # real signature unknown; restored from __doc__
        D.items() -> a set-like object providing a view on D's items(类集合对象,提供关于D的项的视图)

a28d691f534546aa96b945e4210eb438.png
1bb9416c46774c23adbada5f15c2347b.png

5.keys方法(以列表的方法返回字典中的所有的key)
    def keys(self): # real signature unknown; restored from __doc__
         D.keys() -> a set-like object providing a view on D's keys(提供D键视图的类集合对象)

f97e4bc3ed714468a066d073d27e4327.png
a5ea966d4a654c56b1d006d15f11f463.png

6.values方法(以列表的形式返回字典中所有的字典值)
    def values(self): # real signature unknown; restored from __doc__
         D.values() -> an object providing a view on D's values(提供D值视图的对象)b535f78c119f4667b683e829c56082bd.png
c488e34ce66f4bbcb043ef7871e5fbab.png

7.setdefault方法(与get类似)
    def setdefault(self, *args, **kwargs): # real signature unknown
        Insert key with a value of default if key is not in the dictionary.
        Return the value for key if key is in the dictionary, else default.
   (如果key不在字典中,则插入值为default的key。如果key在字典中,则返回key的值,否则为默认值。)

f40fe399bef645dbbab12be418104209.png
9dc1164fd3c844b2b511ec73d4d0b6a0.png

8.update(把一个字典中的值/键对更新到另外一个字典里)
    def update(self, E=None, **F): # known special case of dict.update
        D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
        If E is present and has a .keys() method, then does:  for k in E: D[k] = E[k]
        If E is present and lacks a .keys() method, then does:  for k, v in E: D[k] = v
        In either case, this is followed by: for k in F:  D[k] = F[k]
如果E存在并且有。keys()方法,则执行:for k in E: D[k] = E[k];如果E存在并且没有。keys()方法,则执行:for k, v in E: D[k] = v。无论哪种情况,后面都是:for k in F: D[k] = F[k]

f005508355de4ef38d2a652984c8a375.png
71e1f145da9842d58734eee60ca57c3b.png

9.pop(删除指定key的键值对并将key对应的值返回)
    def pop(self, k, d=None): # real signature unknown; restored from __doc__
        D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
        If the key is not found, return the default if given; otherwise,
        raise a KeyError.(如果没有找到键,则返回给定的默认值;否则,引发KeyError。)

0a05c26321904a59b47c045b68995b06.png
5b30fdb5596a4c51a269d06c8c0be8c6.png

10.popitem方法(以元组的形式返回并删除字典中的最后一对键和值)
    def popitem(self, *args, **kwargs): # real signature unknown
        Remove and return a (key, value) pair as a 2-tuple.
        Pairs are returned in LIFO (last-in, first-out) order.
        Raises KeyError if the dict is empty.
删除并返回一个(键,值)对作为一个二元组。对按后进先出(LIFO)顺序返回。如果字典为空则引发KeyError。

7d2c5cda658b462fa18ea01db6a08f7a.png

a2bad4b69d1344d68ed957457c7f572c.png

二,用for循环去获取dict的key,value,(key,value)以及key和value并使用for循环去获取列表的下标以及下标对应的值。 

b70194f2f8f940edb8ae93376d42da23.png

367033de22194f67ae397f7d5f0998dc.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值