《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的交集