Python 程序的输出 | 第九套(字典)

167 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

  • 难度级别: 简单

1) 以下程序的输出是什么?

dictionary = {'haiyong' : 'haiyong.site',
			'baidu' : 'baidu.com',
			'juejin' : 'juejin.cn'
			}
del dictionary['baidu'];
for key, values in dictionary.items():
	print(key)
dictionary.clear();
for key, values in dictionary.items():
	print(key)
del dictionary;
for key, values in dictionary.items():
	print(key)

a) b 和 d 
b) 运行时错误 
c) haiyong 
juejin 
d) juejin 
haiyong
答案. (a)

输出:

juejin
haiyong

解释: 语句:del dictionary; 删除整个字典,因此迭代已删除的字典会引发运行时错误,如下所示:

Traceback (most recent call last):
  File "cbeac2f0e35485f19ae7c07f6b416e84.py", line 12, in 
    for key, values in dictionary.items():
NameError: name 'dictionary' is not defined

2) 以下程序的输出是什么?

dictionary1 = {'Google' : 1,
	       'Facebook' : 2,
	       'Microsoft' : 3
			}
dictionary2 = {'Haiyong' : 1,
	       'Microsoft' : 2,
	       'Youtube' : 3
			}
dictionary1.update(dictionary2);
for key, values in dictionary1.items():
	print(key, values)

a) 编译错误 
b) 运行时错误 
c) ('Google', 1) 
('Facebook', 2) 
('Youtube', 3) 
('Microsoft', 2) 
('Haiyong', 1) 
d) 这些都不是

答案.(c)

解释:  dictionary1.update(dictionary2) 用于用dictionary2 的条目更新dictionary1 的条目。如果两个字典中有相同的键,则使用第二个字典中的值。

3) 以下程序的输出是什么?

dictionary1 = {'Haiyong' : 1,
	       'Google' : 2,
	       'Haiyong' : 3
			}
print(dictionary1['Haiyong']);

a) 由于重复键导致的编译错误 
b) 由于重复键导致的运行时错误 
c) 3 
d) 1
答案. (c)

解释: 这里,Haiyong 是重复键。python中不允许重复键。如果字典中有相同的键,则最近分配的值将分配给该键。

4) 以下程序的输出是什么?

temp = dict()
temp['key1'] = {'key1' : 44, 'key2' : 566}
temp['key2'] = [1, 2, 3, 4]
for (key, values) in temp.items():
	print(values, end = "")

a) 编译错误 
b) {'key1': 44, 'key2': 566}[1, 2, 3, 4] 
c) 运行时错误 
d) 以上都不是
答案. (b) 
解释: 字典可以保存任何值,例如整数、字符串、列表,甚至是另一个保存键值对的字典。 

5) 以下 Python 程序的输出是什么?

temp = {'Haiyong' : 1,
	'Facebook' : 2,
	'Google' : 3
		}
for (key, values) in temp.items():
	print(key, values, end = " ")

a) Google 3 Haiyong 1 Facebook 2 
b) Facebook 2 Haiyong 1 Google 3 
c) Facebook 2 Google 3 Haiyong 1 
d) 上述任何一个
e) 以上都不是

答案. (e)

(e) 的解释: 因为 python 3.7 字典是按插入顺序排序的。

如果大家发现任何不正确的地方,可以在下方评论区告诉我,互相学习,共同进步!