《Python语言程序设计》刘卫国主编,中国工信出版集团,电子工业出版社

习题7

一、选择题

1.Python语句print(type({1:1,2:2,3:3,4:4}))的输出结果是(      )。B

A.<class 'tuple'>                 B.<class 'dict'>

C.<class 'set'>                   D.<class  'frozenset'>

在python中,字典是大括号中放置一组以逗号分隔的“关键字:值”对。

字典是无序的(python将各项从左到右随机排序),关键字和值一 一对应,关键字就可以作为索引。关键字不能重复。

2.以下不能创建字典的语句是(      )。C

A.dict1={}        B.dict2={3:5}

C.dict3=dict([2,5],[3,4])    D.dict4=dict(([1,2],[3,4]))

 A:省略“关键字:值”表示创建一个空的字典

B:创建字典标准格式

dict函数:创建字典的函数,()传值,可以传元组和列表,或者“关键字=值”的格式。

C:dict()内少了一层括号。

3.对于字典D={'A':10,'B':20,'C':30,'D':40},对第4个字典元素的访问形式是(      )。D

A.D[3]         B.D[4]         C.D[D]          D.D['D']

可以用字符串或数值类型作为关键字索引。

字符串做关键字,需要加' '。

注意:python没有字符串类型,不能直接使用D作为关键字或值。

4.对于字典D={'A':10,'B':20,'C':30,'D':40},len(D)的是(      )。A

A.4             B.8             C.10       D.12

 len()函数可以获取字典所包含

5.对于字典D={'A':10,'B':20,'C':30,'D':40},sum(list(D.values()))的值是(      )。B

A.10            B.100           C.40            D.200

d.values():返回一个包含字典所有值的列表。

sum对返回的列表中的值进行求和

6.以下不能创建集合的语句是(      )。C

A.s1=set()            B.s2=set(“abcd”)

C.s3={}                D.s4=frozenset((3,2,1))

集合:一个无序,不能重复的数据集合体,集合中的元素必须是不可变的。

创建方式:大括号中逗号分隔数据进行创建集合,或者使用set()函数。

s3={}:创建的是一个空字典

frozenset():创建不可变集合,不能添加或删除元素。

7.设a=set([1,2,2,3,3,3,4,4,4,4]),则a.remove(4)的值是(      )。A

A.{1, 2, 3}                    B.{1, 2, 2, 3, 3, 3, 4, 4, 4}

C.{1, 2, 2, 3, 3, 3}            D.[1, 2, 2, 3, 3, 3, 4, 4, 4]

先将列表[1,2,2,3,3,3,4,4,4,4]转化为集合,去除重复元素,得到{1,2,3,4}。

remove(x):在集合中删除x。

集合特性的利用:要删除列表中大量重复的元素,可以先将列表转化为集合,在将集合转换会列表,操作效率非常高。

8.下列语句执行后的结果是(       )。D

fruits={'apple':3,'banana':4,'pear':5}
fruits['banana']=7
print(sum(fruits.values()))
A.7                B.19            C.12            D.15

字典的更新:字典名[关键字]=值。

更新后的字典:{'apple':3,'banana':7,'pear':5}

fruits .values():返回一个包含fruits字典所有值的列表,最后求和得15.

9.下列语句执行后的结果是(       )。C

d1={1:'food'}
d2={1:'食品',2:'饮料'}
d1.update(d2)
print(d1[1])
A.1                    B.2          C.食品          D.饮料

d1.update(d2):将字典d1中的“关键字:值”添加到字典d1中,d2合并到d1,d2没有改变,d1变化 。如果d1,d2字典中关键字重复,d2中的数据替换掉d1中的数据。

合并后的d2:{1:'食品',2:'饮料'}

10.下列Python程序的运行结果是(      )。B

s1=set([1,2,2,3,3,3,4])
s2={1,2,5,6,4}
print(s1&s2-s1.intersection(s2))
A.{1, 2, 4}                   B.set()

C.[1,2,2,3,3,3,4]            D.{1,2,5,6,4}

集合的交集& ,s.intersection()

集合的并集 | ,s. union()

s1.intersection(s2):返回s1,s2的交集