第六章—字典

Posted 刘海儿啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章—字典相关的知识,希望对你有一定的参考价值。

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

 

1 messages={first_name:peter,last_name:Smith,age:25,city:Beijing}
2 print(messages[first_name])
3 print(messages[last_name])
4 print(messages[age])
5 print(messages[city])
6 print(messages)

输出:

1 peter
2 Smith
3 25
4 Beijing
5 {‘first_name‘: ‘peter‘, ‘last_name‘: ‘Smith‘, ‘age‘: 25, ‘city‘: ‘Beijing‘}

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

1 messages={ada:1,ava:2,Peter:3,Marry:4,Mark:5}
2 print(messages)

输出:

1 {ada: 1, ava: 2, Peter: 3, Marry: 4, Mark: 5}

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

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

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

1 messages={
2     first_name:peter,
3     last_name:Smith,
4     age:25,
5     city:Beijing}
6 for key,value in messages.items():
7     print(key,:,value)#注意此句用法

输出:

1 first_name : peter
2 last_name : Smith
3 age : 25
4 city : Beijing

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

 程序同6-3


 

 

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

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

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

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

 1 message={
 2     nile:egypt,
 3     huanghe:China,
 4     changjiang:China
 5     }
 6 for river in message.keys():
 7     print(river)
 8 for country in message.values():
 9     print(country)
10 for river,country in message.items():# .items()表示键和值的统称

输出:

1 nile
2 huanghe
3 changjiang
4 egypt
5 China
6 China
7 The nile runs through egypt
8 The huanghe runs through China
9 The changjiang runs through China

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

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

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

 1 favorite_languages={
 2     Jen:pyhton,
 3     sarah:c,
 4     edward:ruby,
 5     phil:python
 6 }
 7 names1={Jen,phil,ada}
 8 for name in favorite_languages.keys():
 9     if name in names1:
10         print(Hi +name+, thank you .)
11     else:
12         print("Hi "+name+, would you like to attend this research.)

输出;

1 Hi Jen, thank you .
2 Hi sarah, would you like to attend this research.
3 Hi edward, would you like to attend this research.
4 Hi phil, thank you .

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

 
1 message1={first_name:peter,last_name:Smith,age:25,city:Beijing}
2 message2={first_name:ada,last_name:bbc,age:23,city:Tianjin}
3 message3={first_name:ava,last_name:aac,age:21,city:Hunan}
4 messages=[message1,message2,message3]
5 for message in messages:
6     print(message)

输出:

1 {first_name: peter, last_name: Smith, age: 25, city: Beijing}
2 {first_name: ada, last_name: bbc, age: 23, city: Tianjin}
3 {first_name: ava, last_name: aac, age: 21, city: Hunan}

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

 1 #*****创建多字典存入一个列表中打印所有字典***#
 2 pet1={
 3     type:dog, ower:peter}
 4 pet2={
 5     type:cat,ower:lili}
 6 pet3={
 7     type:rabbit,ower:heli} #建立字典使用花括号
 8 pets=[pet1,pet2,pet3] #将多个字典存放入一个列表中时是中括号
 9 for pet in pets:
10     print(pet)  #打印所有的字典

输出:

1 {type: dog, ower: peter}
2 {type: cat, ower: lili}
3 {type: rabbit, ower: heli}
 

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

 

 1 #*******字典键值中值含有多个元素******#
 2 favorate_place={
 3     peter:[a,b,c],
 4     lili:[c,d,e],
 5     helo:[f,g,h]
 6 }
 7 for name,places in favorate_place.items():
 8     print("\n"+name)#换行
 9     print(places)#注意这句与下面两句的区别,此句打印出来有中括号
10     for place in places:
11         print("\t"+place)#"\t"空格,这种打印出来没有中括号,并且自动换行

输出:

 1 peter
 2 [a, b, c]
 3     a
 4     b
 5     c
 6 
 7 lili
 8 [c, d, e]
 9     c
10     d
11     e
12 
13 helo
14 [f, g, h]
15     f
16     g
17     h

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

 原理同6-9

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

 1 #***字典中创建字典****#
 2 cities={
 3     "Beijing":{
 4         country:China,
 5         population:13,
 6         fact:a
 7     },
 8     "Haerbin":{
 9         country:China,
10         population:13,
11         fact:b
12     },
13     "Changsha":{
14         country:China,
15         population:13,
16         fact:b
17     }
18 }
19 for city,infos in cities.items():
20     print(city)
21     print(infos)

输出:

1 Beijing
2 {country: China, population: 13, fact: a}
3 Haerbin
4 {country: China, population: 13, fact: b}
5 Changsha
6 {country: China, population: 13, fact: b}

 

以上是关于第六章—字典的主要内容,如果未能解决你的问题,请参考以下文章

第六章-字典

第六章.解决大问题

《Python从入门到实践》--第六章 操作字典 课后练习

Python编程:从入门到实践——作业——第六章作业

PythonCrashCourse 第六章习题

《Python从入门到实践》第六章动手试一试