Python学习之字典

        本节我们学习Python中唯一内建的数据类型——字典。

        字典的由键-值对组成,键可以是任意的不可变类型。而且键必须是唯一的,值可以不唯一。字典的意义在于通过键快速的找到对应的值。

        字典的创建

        dict函数

        通过其他映射或键值对的序列创建字典。

            >>>items=[('product','pen'),('price',3)]

            >>>d1=dict(items)

            >>>d1

            {'product':'pen', 'price':3}

        基本的字典操作

        包括len(d),del d[i]以及k in d等常见操作,其中k in d中查找的是键而不是值。当键在字典中不存在时,会自动在字典中建立新的项。

        字典的格式化字符串

        在每个转换说明符中的%后加上键。

            >>>"the pen is %(price)d dollars"  % d1

            "the pen is 3 dollars"

        字典方法

        clear

        该操作清除字典中的所有项,无返回值。

            >>>d1.clear()

            >>>d1

            {}

        copy

        返回一个具有相同键值对的新字典,它实现的是浅复制操作(值不是副本),当在副本中替换值时,原字典不变,若原地修改某个值,则原始字典也会改变。

            >>>x={‘username’:‘admin’,‘machines’:[‘foo’,‘bar’,‘baz’]}

            >>>y=x.copy()

            >>>y[‘username’]=‘dxk’

            >>>y[‘machines’].remove(‘bar’)

            >>>y

            {‘username’:‘dxk’,‘machines’:[‘foo’,‘baz’]}

            >>>x

            {‘username’:‘admin’,‘machines’:[‘foo’,‘baz’]}

        为了避免这个问题,可以使用深复制,其中包括值也是副本。

            >>>from copy import deepcopy

            >>>z=deepcopy(x)

            >>>z[‘username’]=‘dxk’

            >>>z[‘machines’].remove(‘bar’)

            >>>z

            {‘username’:‘dxk’,‘machines’:[‘foo’,‘baz’]}

            >>>x

            {‘username’:‘admin’,‘machines’:[‘foo’,‘bar’,‘baz’]}

        fromkeys

        使用给定的键建立新的字典,每个值默认为None,也可以自己提供默认值。

            >>>{}.fromkeys([‘name’,‘age’])

            {‘age’:None,‘name’:None}

        get

        访问字典的某项。

            >>>d={‘name’:‘dxk’}

            >>>d.get(‘name’)

            ‘dxk’

        has_key

        检查字典中是否有特定的键。

            >>>d.has_key(‘name’)

            Flase

        items和iteritems

        items方法将字典所有的项以列表的形式返回,列表中的每一项都表示为键值对的形式。

            >>>d.items()

            [‘name’:‘dxk’]

        iteritems的作用和items相似,只不过它返回的是迭代器对象

        popitem

        随机弹出列表中的一个项。

        update

        利用一个字典更新另外一个字典。 提供的字典中的项添加到旧的字典中,若有相同的键会进行覆盖。


       



           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值