Python随记(三)字典

来源:互联网 发布:水印相机软件 编辑:程序博客网 时间:2024/05/21 19:30


Python随记(三)字典


字典(Dictionary)

也是序列(sequence)的一种,是另一种可变容器模型。字典的值并没有特殊的顺序,但是都存储在一个特定的键(Key)下。键可以是任意类型对象,如字符串、数字、元组等其他容器模型。

与列表通过编号引用值不同,字典是一种通过名字来引用值的数据结构。这种数据结构称为映射(mapping)。字典是Python中唯一内建的映射类型。

创建字典的目的,就是为了通过轻松查找某个特定的词语(键),从而找到它的定义(值)。

 

1、  创建字典

字典由键和对应值成对组成。

·每个键和它的值之间用冒号(:)隔开,

·项之间用逗号(,)隔开,

·整个字典用一对大括号{}包起来。如下例所示:

D1= {'Alice': '2341',  'Beth': '9102',  'Cecil': '3258'}

注意:键必须独一无二,但值则不必。

值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

   

     也可以用dict( )类型,通过其他映射(比如其他字典)或者(键,值)对的序列建立字典

     比如有序列:L1 = [(‘aaa’, 111), (‘ABC’, 123) ]

     D =  dict( L1 )

     那么D就被设置为 { ‘aaa’:111,‘ABC’, 123}

 

2、  字典的基本操作

· led (d) 返回字典d中(键-值)对的数量;

· d[k] 返回关联到键k上的值;

· d[k] = v 将键K关联的值设置为v

· del d[k] 删除键为K的项

· k in d 检查d中是否有含有键为K的项

字典与列表的一些重要区别:

· 成员资格: 表达式k in d查找的是键,这就是我最开始说的,字典通过名字来引用值。

· 键类型:字典的键没必要非得是整型数据,键可以是任意不可变类型。

· 自动添加:即是键起初在字典中并不存在,也可以为它赋值,这样字典就会建立新的项。

 

3、  字典方法

· dict.clear()-----删除字典内所有元素

· dict.copy()-----返回一个字典的浅复制

           这个操作在副本字典中替换(只是把键对应的值换了)值的时候,原始字典不变

           当副本字典中的值被原地修改(比如删除或添加某值)之后,原始字典也变化

           解决方法是使用函数deecopy

· ict.fromkeys(seq[, val]))-----创建一个新字典,以序列seq 中元素做字典的键,val 为字典所

有键对应的初始值

· dict.get(key, default=None)----- 返回指定键的值,如果值不在字典中返回default值

· dict.has_key(key)----- 如果键在字典dict里返回true,否则返回false

· dict.items()-----以列表返回可遍历的(键, 值) 元组数组

· dict.keys()-----以列表返回一个字典所有的键

· dict.setdefault(key, default=None)----- 和get()类似, 但如果键不存在于字典中,将会添加键并

将值设为default

· dict.update(dict2)----- 把字典dict2的键/值对更新到dict里

· dict.values()-----以列表返回字典中的所有值

· pop(key[,default])----- 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

· popitem()-----随机返回并删除字典中的一对键和值。


原创粉丝点击