简明 Python 教程
第9章 数据结构
上一页 字典 下一页

字典

字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把(名字)和(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。

注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。

键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。

记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。

字典是dict类的实例/对象。

使用字典

例9.4 使用字典

#!/usr/bin/python
# Filename: using_dict.py

# 'ab' is short for 'a'ddress'b'ook


ab = {       'Swaroop'   : 'swaroopch@byteofpython.info',
             'Larry'     : 'larry@wall.org',
             'Matsumoto' : 'matz@ruby-lang.org',
             'Spammer'   : 'spammer@hotmail.com'
     }

print "Swaroop's address is %s" % ab['Swaroop']

# Adding a key/value pair
ab['Guido'] = 'guido@python.org'

# Deleting a key/value pair
del ab['Spammer']

print '\nThere are %d contacts in the address-book\n' % len(ab)
for name, address in ab.items():
    print 'Contact %s at %s' % (name, address)

if 'Guido' in ab: # OR ab.has_key('Guido')
    print "\nGuido's address is %s" % ab['Guido']

(源文件:code/using_dict.py

输出

$ python using_dict.py
Swaroop's address is swaroopch@byteofpython.info

There are 4 contacts in the address-book

Contact Swaroop at swaroopch@byteofpython.info
Contact Matsumoto at matz@ruby-lang.org
Contact Larry at larry@wall.org
Contact Guido at guido@python.org

Guido's address is guido@python.org

它如何工作

我们使用已经介绍过的标记创建了字典ab。然后我们使用在列表和元组章节中已经讨论过的索引操作符来指定键,时时彩计划软件公式:从而使用键/值对。我们可以看到字典的语法同样十分简单。

我们可以使用索引操作符来寻址一个键并为它赋值,这样就增加了一个新的键/值对,就像在上面的例子中我们对Guido所做的一样。

我们可以使用我们的老朋友——del语句来删除键/值对。我们只需要指明字典和用索引操作符指明要删除的键,然后把它们传递给del语句就可以了。执行这个操作的时候,我们无需知道那个键所对应的值。

接下来,我们使用字典的items方法,来使用字典中的每个键/值对。这会返回一个元组的列表,其中每个元组都包含一对项目——键与对应的值。我们抓取这个对,然后分别赋给for..in循环中的变量nameaddress然后在for-块中打印这些值。

我们可以使用in操作符来检验一个键/值对是否存在,或者使用dict类的has_key方法。你可以使用help(dict)来查看dict类的完整方法列表。

关键字参数与字典。如果换一个角度看待你在函数中使用的关键字参数的话,你已经使用了字典了!只需想一下——你在函数定义的参数列表中使用的键/值对。当你在函数中使用变量的时候,它只不过是使用一个字典的键(这在编译器设计的术语中被称作 符号表 )。


上一页 上一级 下一页
元组 首页 序列
时时彩计划软件公式
@ssv
江西时时彩的走势图带连线 江西时时彩高手论坛 时时彩四星做号工具 黄金眼股票软件 哪里有时时彩计划群
中东时时彩平台怎么样 江西时时彩销售总额 江西时时彩福彩 功夫时时彩软件不更新了 英皇娱乐平台
时时彩技巧专家三爷 时时彩的广告词 神机妙算时时彩软件 重庆时时彩刷量 时时彩开户送体验金
内蒙古时时彩奖结果 重庆时时彩新起航 时时彩平台举报中心 双色球历史号码比较器 君彩遗漏报警软件官网
绝世唐门txt全集下载 山西快乐十分最大遗漏 广东11选5玩法 江苏十一选五前三技巧 华东15选5分布图
天津福利彩票 体彩开奖 宁夏体彩十一选五奖金 幸运飞艇开奖网站 炸金花在哪玩
pk10最牛稳赚单双公式 山东11选5结果 贵州11选5遗漏数据查询 网上时时彩平台违法吗 皇马娱乐场
山东十一选五遗漏 排列三魔图 11选5 广西快乐10分直播 安徽福彩25选5号码统计