刚接触python不久,目前还在学习当中。
今天学习了python中关于字典这一章,感觉挺有用。因此将其记录,同时和大家分享一下。
python中的字典,其实就相当于是键值对。学过java的同学应该都能理解键值对,每一个键都有其对应的值(key-value),但需要理解的是,字典里的键值对存放时无序的,主要是通过键来进行索引查找,不能根据顺序。
主要作用:便于查找,即索引。
字典的创建方式:
(1)通过直接创建。例如:
(2)通过函数dict创建。例如:
基本字典操作:
len(d) :返回键值对d的数量
d[k] : 返回k键对应的值
d[k]=v : 将v值关联到键k上
del d[k]: 删除键为k的项
k in d : 检查d中是否含有k
注意:可以为字典任意位置添加内容,但是序列不可以。例如:
字典的方法:
(1)clear:清除字典中所有项。即清除包括关联的所有的项。例如:
(2)copy与deepcopy:主要用于复制。
copy:浅复制。如果B是A复制的结果。B中如果有值被替换,A不受影响,但如果B中有值被修改(增加或删除),A会受影响。
deepcopy:深复制。如果B是A复制的结果。无论B如何操作,A不受影响。
注意,需要使用import将copy模块的deepcopy函数导入。
(3)fromkeys:给定的键建立新的字典,每个键都对应一个默认的值None。
同时也可以修改默认值,例如把默认是None改为age:
(4)get和setdefault:主要用于查找。
get和setdefault都是获取到字典中键对应的值。
正常情况下,如果字典中的键不存在,直接打印会报错。但是使用get和setdefault进行查找,即使该键不存在,也不会报错。
并且,使用setdefault访问不存在字典中的键时,字典会默认将该键添加进去,并且附上默认值None。
当键不存在时,get和setdefault都能够设置默认的值,但是只有setdefault能将该值添加到字典中,且附上默认值。如果该值存在,默认值将不起作用。
(5)has_key:检查字典中是否含有特定的键。
(6)items和iteritems。
items:将字典所有项以列表(键,值)的形式返回。
iteritems:作用于items大致相同,但是iteritems会返回一个迭代器对象,而不是列表。
(此例子中p为已经创建好的字典,因此直接使用。如果不知道如何创建字典,请学习文章开头部分。)
(7)keys和iterkeys。
keys:将字典中所有键以列表的形式返回。
iterkeys:返回键的迭代器对象。
(此例子中p为已经创建好的字典,因此直接使用。如果不知道如何创建字典,请学习文章开头部分。)
(8)values和itervalues。
values:以列表的形式返回字典中的值,返回值中可以包含重复值。(与键不一样,键时唯一的,不可重复)
itervalues:返回迭代器对象。
(此例子中p为已经创建好的字典,因此直接使用。如果不知道如何创建字典,请学习文章开头部分。)
(9)pop:用来获取到给定键的值,并且将该项从字典中删除。如果该键在字典中不存在,则会报错。
(此例子中p为已经创建好的字典,因此直接使用。如果不知道如何创建字典,请学习文章开头部分。)
(10)popitem:主要用于一个个移除并处理项。是随机移除的。
(此例子中p为已经创建好的字典,因此直接使用。如果不知道如何创建字典,请学习文章开头部分。)
(11)update:可以利用一个字典去更新另一个字典。
(此例子中p为已经创建好的字典,因此直接使用。如果不知道如何创建字典,请学习文章开头部分。)