Python笔记——字典的用法

来源:互联网 发布:java array排序 编辑:程序博客网 时间:2024/06/05 02:21

字典是一个具有映射关系的数据类型,每一个健值映射一个值,健值是唯一的,值可以不唯一

定义空字典:{ }


1、字典创建:

方法1:直接创建

>>> namebook={'name':'abc','age':26,'school':'huanong'}
>>> namebook['name']
'abc'

方法2:使用dict函数创建

>>> items=[(1,'a'),(2,'b'),('a','a'),('b','b')]
>>> d=dict(items)
>>> d
{'a': 'a', 1: 'a', 2: 'b', 'b': 'b'}


2、字典的基本操作:假设字典d

len(d):返回字典d的项数

d[k]:返回键值为k的映射值

d[k]=v:把k映射的值改为v,若字典本来是没有k键的,那么创建键值对(k,v)

del d[k] :删除键值对(k,d[k]) 

k in d:判断d中是否含有键为k的项


3、使用字典格式化字符串,格式:" this is %(name)s text" % {'name':'my'}

>>> " this is %(name)s text" % {'name':'my'}
' this is my text'


---字典的方法

4、clear方法:清除所有项

>>> d={1:'a',2:'b'}
>>> d.clear()
>>> d
{}


5、copy方法:返回同样键-值的字典

注意:如果直接用新变量赋值会同样改变原来的字典,这是因为它们指向同一个存储空间

>>> d={1:'a',2:'b'}
>>> x=d
>>> x[3]='c'
>>> d
{1: 'a', 2: 'b', 3: 'c'}

>>> y=d.copy()
>>> y[4]='d'
>>> d
{1: 'a', 2: 'b', 3: 'c'}


6、get方法:与直接访问类似,但在没有找到键值时返回空值

>>> d
{1: 'a', 2: 'b', 3: 'c'}
>>> d.get(1)
'a'
>>> d.get(4)
>>> d[4]
Traceback (most recent call last):
  File "<pyshell#191>", line 1, in <module>
    d[4]
KeyError: 4


7、has_key方法:检测字典是否存在key

>>> d.has_key(1)
True
>>> d
{1: 'a', 2: 'b', 3: 'c'}
>>> d.has_key(4)
False


8、item方法:将字典以列表显示展示,其中每天一个key-value以元组形式展现

>>> d
{1: 'a', 2: 'b', 3: 'c'}
>>> d.items()
[(1, 'a'), (2, 'b'), (3, 'c')]


9、iteritems方法:返回结果与items类似,但是是一个迭代器

>>> d
{1: 'a', 2: 'b', 3: 'c'}
>>> list(d.iteritems())
[(1, 'a'), (2, 'b'), (3, 'c')]


10、只返回键的方法:keys,iterkeys,返回结果为一个列表

>>> d.keys()
[1, 2, 3]
>>> d
{1: 'a', 2: 'b', 3: 'c'}


11、pop方法:移除给定键,并返回给定键的值

>>> d
{1: 'a', 2: 'b', 3: 'c'}
>>> d.pop(1)
'a'
>>> d
{2: 'b', 3: 'c'}


12、values和itervalues方法:以列表形式返回值的集合,其中itervalues返回一个迭代器

>>> d
{2: 'b', 3: 'c'}
>>> d.values()
['b', 'c']
>>> list(d.itervalues())
['b', 'c']

















0 0
原创粉丝点击