本文主要是介绍Python核心编程(第二版) 第七章 习题答案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
已放在我的GitHub:https://github.com/Jonariguez/Core_Python_Programing_Exercises_Answers
映像和集合类型
7-1 哪个字典方法可以用来把两个字典合并到一起?
update()方法 dict1.update(dict2)
update()方法可以用来将一个字典的内容添加到另外一个字典中。字典中原有的键重复,那么重复键所对应的原有条目的值将被新键所对应的值覆盖。原来不存在的条目会被添加到字典中。
7-2 我们知道字典的值可以是任意的,但是键呢?查看哪些类型可以作为键,那些不行?并解释不行的原因
键并不是所有类型都可以的,有一定限制。
除了数字和字符串以外,还有元组类型和不可变集合类型frozenset也可以作为键,而列表和字典则不可以。
像列表和字典不能作为字典的键,是因为他们都属于可变类型。字典之所以要求其键不可变是因为:字典中是利用键的值来计算数据的存储位置的,即数据存在哪里由键的值唯一确定,如果键值改变,则哈希函数会映射到不同的地址,很明显如此便不可能可靠地存储和访问数据,故为了避免这种情况的发生,要求键是不可变的。
所以可变对象不能作为字典的键。
7-3
(a)创建一个字典,并把键按字母顺序显示出来。
>>> dic = {'a':'d','b':'c','c':'b','d':'a'}
>>> print(sorted(dic.keys()))
['a', 'b', 'c', 'd']
(b)根据已按字母顺序排序好的键,显示这个字典的键和值。
>>> dic = {'a':'d','b':'c','c':'b','d':'a'}
>>> for k in sorted(dic.keys()):print(k,dic[k])
a d
b c
c b
d a
同©,不过按照值排序后,显示这个字典的键和值。
>>> for v in sorted(dic.values()):for k in dic:if dic[k]==v:print(k,v)d a
c b
b c
a d
7-4 给定两个长度相同的列表,如[1,2,3]和[‘a’,‘b’,‘c’]&
这篇关于Python核心编程(第二版) 第七章 习题答案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!