【Python编程:从入门到实践】第六章:字典

来源:互联网 发布:ar涂涂秀软件下载 编辑:程序博客网 时间:2024/06/06 01:13

6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中 的每项信息都打印出来。

person = {'first_name':'HandSome','last_name':'Girl','age':21,'city':'Zhuhai',}print(person)
结果:
{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}

6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。

perfer_num= {'Nancy':1,'Lucky':2,'Handsome_Girl':3,'Mary':4,'Tony':5,}print(perfer_num)
结果:
{'Handsome_Girl': 3, 'Nancy': 1, 'Tony': 5, 'Lucky': 2, 'Mary': 4}

6-3 词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。

 想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。

 以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插 入一个空行,然后在下一行以缩进的方式打印词汇的含义。

vocabulary ={'P':'Python','J':'Java','C':'C','V':'Visual Basic',}for key,value in vocabulary.items():print(key,':',value)
结果:

P : PythonJ : JavaV : Visual BasicC : C

6-4 词汇表2 :既然你知道了如何遍历字典,现在请整理你为完成练习6-3而编写的代码,将其中的一系列print 语句替换为一个遍历字典中的键和值的循环。确定该 循环正确无误后,再在词汇表中添加5个Python术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。 

vocabulary ={'P':'Python','J':'Java','C':'C','V':'Visual Basic','R':'Ruby','P':'111'}for key,value in vocabulary.items():print(key,':',value)
结果:
V : Visual BasicC : CP : 111J : JavaR : Ruby

6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是'nile': 'egypt' 。

 使用循环为每条河流打印一条消息,如“The Nile runs through Egypt.”。

 使用循环将该字典中每条河流的名字都打印出来。

 使用循环将该字典包含的每个国家的名字都打印出来。

river = {'nile':'egypt','yellow river':'lanchow','Mississippi River':'north America'}for key,value in river.items():print("The %s runs through %s"%(key.title(),value.title()))
结果:

The Nile runs through EgyptThe Mississippi River runs through North AmericaThe Yellow River runs through Lanchow

6-6 调查 :在6.3.1节编写的程序favorite_languages.py中执行以下操作。

创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。

遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phill':'python',}interviewer = ['jen','sarah','edward','phill','alice','bob']for user in interviewer:if user in favorite_languages.items():print('%s thank you for your intend'%user)else:print('welcome to here %s'%user)
结果:

welcome to here jenwelcome to here sarahwelcome to here edwardwelcome to here phillwelcome to here alicewelcome to here bob

6-7 人 :在为完成练习6-1而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为people 的列表中。遍历这个列表,将其中每个人的所有 信息都打印出来。

people = {'person1' : {'first_name':'HandSome','last_name':'Girl','age':21,'city':'Zhuhai',},'person2':{'first_name':'albert','last_name':'einstein','age':34,'city':'princeton'},'person3':{'first_name':'marie','last_name':'curie','age':36,'city':'paris'},}for key,value in people.items():print(key+":")for key1,value2 in value.items():print("\t %s:%s"%(key1,value))
结果:
person3: first_name:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'} last_name:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'} age:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'} city:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'}person1: first_name:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'} last_name:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'} age:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'} city:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}person2: first_name:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'} last_name:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'} age:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'} city:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'}

6-8 宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为pets 的列表中,再遍历该列表,并将宠物的所有信息都打印出来。

cat = {'name':'kitty','owner':'lucy'}dog = {'name':'Da Huang','owner':'nancy'}rabbit = {'name':'little white','owner':'mary'}pets = [cat,dog,rabbit]for pet in pets:for key ,value in pet.items():print('%s:%s'%(key,value.title()))
结果:

name:Kittyowner:Lucyname:Da Huangowner:Nancyname:Little Whiteowner:Mary

6-9 喜欢的地方 :创建一个名为favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的1~3个地方。为让这个练 习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。

favorite_palces = {'alice':['shanghai','guangzhou','shenzhen'],'nancy':['zhuhai','xiamen','beijing'],'bob':['ningxia','yunnan']}for key,value in favorite_palces.items():print(key+":")if len(value) > 0:for place in value:print("\t",place)
结果:
alice: shanghai guangzhou shenzhennancy: zhuhai xiamen beijingbob: ningxia yunnan

6-10 喜欢的数字 :修改为完成练习6-2而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。 

perfer_num= {'Nancy':[1,2,3],'Lucky':[2,3,4],'Handsome_Girl':[3,4,5],'Mary':[4,5,6],'Tony':[5,6,7],}for key,value in perfer_num.items():print(key+":")if len(value) > 0:for num in value:print("\t",num)
结果:
Handsome_Girl: 3 4 5Lucky: 2 3 4Nancy: 1 2 3Tony: 5 6 7Mary: 4 5 6

6-11 城市 :创建一个名为cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该 城市的事实。在表示每座城市的字典中,应包含country 、population 和fact 等键。将每座城市的名字以及有关它们的信息都打印出来。

 

cities = {'A':{'country':'china','population':32100,'fact':'A'},'B':{'country':'england','population':36464,'fact':'B'},'C':{'country':'america','population':465487,'fact':'C'},}for key,value in cities.items():print(key,":")for key1,value1 in value.items():print("\t",key1,":",value1)
结果:

B : population : 36464 fact : B country : englandA : population : 32100 fact : A country : chinaC : population : 465487 fact : C country : america



阅读全文
1 0
原创粉丝点击