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'>

print(type({1:1,2:2,3:3,4:4}))

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

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

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

dict1={}
dict2={3:5}
dict4=dict(([1,2],[3,4]))

print(dict1)
print(dict2)
print(dict4)

C错误的原因是对dict()函数使用的不正确  


dict()函数的使用:p132 

1.使用dict()函数创建一个空字典并给变量赋值。

d=dict()
print(d)

 2.使用列表元组作为dict()函数的参数。

在本题的C中,dict3=dict([2,5],[3,4]),dict()括号里面的参数并不是列表或元组

可以修改为:

d1=dict(([2,5],[3,4]))
d2=dict([[2,5],[3,4]])

print(d1)
print(d2)

 3.将数据按“关键字=值”的形式作为参数传递给dict()函数

d=dict(a=2,b=3)
print(d)


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

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

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

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

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

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

D={'A':10,'B':20,'C':30,'D':40}

print(D.values())
print(list(D.values()))

print(sum(list(D.values())))

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

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

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

p137:s3={}创建的是字典

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]

p137:集合是一个不重复的集合体

a=set([1,2,2,3,3,3,4,4,4,4])
print(a)
a.remove(4)
print(a)

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

fruits={'apple':3,'banana':4,'pear':5}
fruits['banana']=7
print(sum(fruits.values()))

A.7                B.19            C.12            D.15

和第五题一样

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

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

A.1                    B.2          C.食品          D.饮料


d2.update(d1)

将字典d1的“关键字:值”对添加到字典d2中。d1合并到d2,d1不变,d2变化。若d2的关键字与d1的关键字相同,d2覆盖d1相同的部分。

d1={'a':1,"b":2,"c":3}
d2=dict([['a',2],['d',4]])

print(d1)
print(d2)

d1.update((d2))
print(d1)
print(d2)


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}

s1&s2的意思是求s1与s2的交集

s1.intersection(s2)的意思也是求s1与s2的交集

二、填空题

1.在Python中,字典和集合都使用 大括号 作为定界符。字典的每个元素由两部分组成,即  关键字 ,其中  关键字 不允许重复。

关键字只能是不可变类型,比如字符串,数字,元组,但不能是列表

map={1:'a',"b":2,(1,2):'k',"f":[1,2]}
print(map)

 

 

map={[1,2]:"a"}
print(map)

 

 

2.集合是一个无序、 不重复的数据集,它包括  可变集合 不可变集合 两种类型,前者可以通过大括号或  set() 函数创建,后者需要通过  frozenset() 函数创建。

可变集合的创建:

s1={}
print(type(s1))
print("-------------------")
s2={1,1,2,3,4,4,5,7}
print(s2)
print(type(s2))
print("-------------------")
s3=set("abcdef")#字符串,列表,元组
s4=set([1,"a","f",5,6])
s5=set((6,"5","u",6,6))
print(s3)
print(s4)
print(s5)

不可变集合的创建:

s1={1,2,3,3,4,7}
print(type(s1))
print(s1)
print("-----------")
s2=frozenset(s1)
print(type(s2))
print(s2)

 

3.下列语句执行后,di['fruit'][1]的值是    banana    。

di={'fruit':['apple','banana','orange']}
di['fruit'].append('watermelon')
print(di['fruit'][1])
#print(di)

4.语句print(len({}))的执行结果是     0 

5.设a=set([1,2,2,3,3,3,4,4,4,4]),则sum(a)的值是   10     。

集合中的元素是不重复的,所以集合a={1,2,3,4}

6.{1,2,3,4} & {3,4,5}的值是  {3, 4},{1,2,3,4} | {3,4,5}的值是   {1, 2, 3, 4, 5},{1,2,3,4} - {3,4,5}的值是  {1, 2}  。

7.设有s1={1,2,3},s2={2,3,5},则s1.update(s2)执行后,s1的值为  {1, 2, 3, 5},s1.intersection(s2)的执行结果为  {2, 3} ,s1.difference(s2)的执行结果为 {1}    。

p141

s.update(s1,s2,s3...)

用集合s1,s2....中的成员修改集合s,即这几个集合的并集

s1={1,2,3}
s2={2,3,5}
print(s1.update(s2))
print(s1)

s.interection(s1,s2....) 

和update函数意思差不多,这个是求交集

s1={1,2,3}
s2={2,3,5}
print(s1.intersection(s2))
print(s1)

8.下列程序的运行结果是   2    。
 

d={1:'x',2:'y',3:'z'}
del d[1]
del d[2]
d[1]='A'
print(len(d))

 

9.下面程序的运行结果是   6     。 

list1={}
list1[1]=1
list1['1']=3
list1[1]+=2
sum=0
for k in list1:
    sum+=list1[k]
print(sum)

10.下面程序的运行结果是     9   。 

s=set()
for i in range(1,10):
    s.add(i)
print(len(s))

三、问答题

1.什么是空字典和空集合?如何创建?

在Python中,空字典和空集合都是用大括号括起来的。

dict1={} #在创建空字典时,可以直接用大括号
dict2=dict()  #也可以用dict()函数
print(type(dict1))
print(type(dict2))

set1={}   #创建空集合时。不能只用一个大括号
set2=set()  #可以用set()函数
print(type(set1))
print(type(set2))

print(dict1)
print(set1)

 2.设有列表a=['number','name','score'],b=['21001','denmer',90],写一个语句将这两个列表的内容转换为字典,且以列表a中的元素为关键字,以列表b中的元素为值。

a=['number','name','score']
b=['21001','denmer',90]
dict1=dict(zip(a,b))
print(dict1)

或者

a=['number','name','score']
b=['21001','denmer',90]
map={}

for i in range(0,min(len(a),len(b))):
    map[a[i]]=b[i]
print(map)

 

3.字典的遍历有哪些方法?

(1)遍历字典的关键字
d. keys :返回一个包含字典所有关键字的列表,所以对字典关键字的遍历转换为对列表的遍历。

(2)遍历字典的值
d. values(:返回一个包含字典所有值的列表,所以对字典值的遍历转换为对列表的遍历。

(3)遍历字典的元素
d.items():返回一个包含所有(关键字,值)元组的列表,所以对字典元素的遍历转换为对列表的遍历。

a={'number':6,'name':"sa",'score':99}
print(a)
for i in a.keys():
    print(i)
for i in a.values():
    print(i)
for i in a.items():
    print(i)

4.集合有哪两种类型?分别如何创建?

集合包含两种类型:可变集合(set)和不可变集合(frozenset)。

set1=set((1,2,3))
print(type(set1))
set2=frozenset((1,2,3,4))
print(type(set2))

 5.Python支持的集合运算有哪些?集合的比较运算有哪些?集合对象的方法有哪些?p138-p142

6.分别写出下列两个程序的输出结果,输出结果为何不同?
程序一:

d1={'a':1,'b':2}
d2=d1
d1['a']=6
sum=d1['a']+d2['a']
print(sum)

程序二:

d1={'a':1,'b':2}
d2=dict(d1)
d1['a']=6
sum=d1['a']+d2['a']
print(sum)

  • 14
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值