python中的字典
1.字典的定义
列表是适合于将值组织到一个结构中并且通过编号对其进行引用。字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下,键可以是数字、字符串甚至元组。字典也是python中唯一内建的映射类型。
2.字典的创建与使用
字典由多个键和其对应的值构成的键—值对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典是由大括号{}括起来的。
- phonebook = { “tom” : ‘666’ , ‘cat’ : ‘999’ , ‘wzw’ : ‘333’ }
- 可以用dict函数通过关键字的参数来创建字典
- 创建的字典例如:d = dict (name=‘wzw’,age= 22)
- 字典的基本操作:
len (d) : 返回d中键—值对的数量
d[k] : 返回键k上的值
d[k] = v : 将值v关联到键k上
del d[k] : 删除键为k的项
k in d : 检查d中是否有含有键为k的项 - 字典和列表的区别:
a. 字典的键可以是任意的不可变类型
b. 成员资格查找时查找的时键而不是值
c. 即使键起初不存在也可以为它直接赋值,字典会自动添加新的项
d. 字典是不可修改的 - 字典的方法:
a.get
get是个更宽松的访问字典项的方法,当get访问一个不存在的键时,不会报错而会得到None值,它适用在程序 中用户若输入的是我们没有准备的值时可以作出合理的反应。
b.update
update方法可以利用一个字典项更新另外一个字典,提供的字典中的项会被添加到旧的字典中,若有相同的项则会进行覆盖。
c.items和iteritems
items方法将字典中所有的项以列表方式返回,但是在返回的时候没有特定的顺序;iteritems方法的作用大致相同,但是会返回一个迭代器对象而不是列表。
d.copy
copy方法返回一个具有相同键—值对的新字典(这个方法实现的是浅复制)
注意: 在副本中替换值的时候原始字典不受影响,但是当修改副本中的值的时候原始字典也会改变。
解决办法:可以使用深复制(副本和原始字典互不影响)
e.pop和popitem
pop方法用来获得对应于给定键的值,然后将键—值对从字典中删除。
popitem方法类似于list.pop,后者会弹出列表的最后一个元素,但不同的是因为字典没有顺序,所以popitem会弹出随机的项。
f.clear
clear方法清除字典中的所有项,无返回值
常用的就是这些,还有后续…