Python 字典

Python 字典

当索引不好用时,一种通过名字来引用值的数据结构,这种类型的数据结构叫做映射(mapping)。

  • 字典:是python中唯一内建的映射类型。
  • 字典:都存储在一个特定的key下,键可以是数字、字符串甚至元组。

创建和使用字典

Eg:

#-*- coding:UTF-8 -*-
#!/usr/bin/env python
#创建和使用字典
phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'}

dict函数

#-*- coding:UTF-8 -*-
#!/usr/bin/env #-*- coding:UTF-8 -*-
#!/usr/bin/env python
d=dict(name='Gumby',age='42')
print d

基本字典操作

和序列类似的
  1. len(d) 返回d中项(键-值对)的数量
  2. d[k] 返回关联到键k上的值
  3. d[k] = v 将值v关联到键k上
  4. del d[k] 删除键为k的项
  5. k in d 检查d中是否含有键为k的项
和序列不同的
  1. 键类型:不一定为整型数据,可以是任意的不可变类型数据
  2. 自动添加:不能将值关联到列表范围之外的索引上。
  3. 成员资格:
    • 表达式k in d(d 为字典)查找的是键,而不是值。
    • 表达式:v in l (l为列表)则是用来查找值。

字典方法

clear

清除字典中所有的项

>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x.clear()
>>> y
{}
>>> 
copy

实现浅复制,副本替换值的时候,原始字典不会被影响,修改时会影响。
deepcopy 深复制

fromkeys

使用给定的键建立新的字典,每个给定的键都对应一个默认的None.

构造空字典,然后调用它的fromkeys方法

>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> 

也可以在dict上直接调用该方法

>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}

若 不想使用None值 ,可以自己提供方默认值

>>>dict.fromkeys(['name','age'],'(unknown)')
{'age': '(unknown)', 'name': '(unknown)'}
>>> 
get

是个更宽松的访问字典的方法。

has_key

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

items和iteritems

将字典中的所有项以列表的方式返回,列表中的每一项都表示为(键,值)对的形式。
iteritems返回的是一个迭代器对象而不是列表。

keys和iterkeys

将字典中的键以列表形式返回,iterkeys则返回则对键的迭代器。

pop

用来获取对应于给定键的值,然后将这个键-值对从字典中移除。

>>> d={'x':1,'y':2}
>>>> d.pop('x')
1
>>> d
{'y': 2}
update

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值