Python数据结构之映射(內建字典)

 一、定义

        Python中映射是通过名字来应用值的一种数据结构。而字典是python中唯一內建的映射类型。字典由多个键及与其对应的值构成的键--值对(也称为项)组成。键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键--值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。键值在字典中没有特殊的顺序,是的,字典是无序的,但都是存在特定的键key下,而键key可以是任意的不可变类型,比如浮点型、字符串或元组等,键是唯一的,值可不唯一。空字典不包含任何项,由两个花括号表示:{}。

二、字典的基本操作

1、序列的很多操作在字典上同样适用。set d=dict,k=key。

len(d),返回d中项的数量。

d[k],返回关联到键k上的值。

d[k] = v,将v关联到键k上。

del d[k],删除键为k的项。

k in d,检查d中是否包含有键为k的项。在字典中查键的成员资格比在列表中检查值的成员资格效率更高。

2、dict()

        可以用dict()通过其他映射或(键--值)对的序列建立字典。

>>> items = [('name','xiaoming'),('score',89)]
>>> d = dict(items)
>>> d
{'score': 89, 'name': 'xiaoming'}
        也可以用dict()通过关键字参数来创建字典。

>>> d = {}
>>> d
{}
>>> d = dict(name = 'xiaoming',score = 89)
>>> d
{'score': 89, 'name': 'xiaoming'}

3、字典的格式化字符串

        在每个转换说明符中的%字符后面加上键,该键用()括起来,后面再跟上其它说明元素,此时转换说明符还是像以前一样的工作。前提是,所给出的键,在字典中都要能找得到。

>>> phonebook = {'xiaoming':'1230','xiaohong':'0123','liqin':'0234'}
>>> print "liqin's phone number is %(liqin)s." % phonebook
liqin's phone number is 0234.
>>> 
        还可以利用模板批量转换任意数量的字符串。

>>> bookstore = {
	'COOKING':{
		'language':'cn',
		'author':'xiaoming',
		'year':2017,
		'price':20
	},
	'CODING':{
		'language':'cn',
		'author':'xiaohong',
		'year':2016,
		'price':40
	},
	'PYTHON':{
		'language':'cn',
		'author':'liqin',
		'year':2015,
		'price':60
	}
}
>>> template = '''<XML bookstore>
<book category XX>
    <title %(language)s</title>
    <author> %(author)s</author>
    <year> %(year)s</year>
    <price> %(price)s</price>
</book>
<XML bookstore>'''
>>>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值