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’]&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值