1.使用x=set()和x={} 都可以创建一个空集合。 (T/F)

1-2:F。在 Python 中, x = set() 可以创建一个空集合,而 x = {} 创建的是一个空字典,不是空集合。

2.dict={[1,2,3]:"user"}不能创建一个字典。 (T/F)

1-3:T。在 Python 中,字典的键必须是不可变类型,而列表是可变类型,所以 dict = {[1,2,3]: "user"} 不能创建一个字典。

3.下面程序的输出是15929494512。(T/F)(dic1.update(dic2)返回值?)

dic1={"赵洁" : 15264771766,"张秀华" : 13063767486,"胡桂珍" : 15146046882,"龚丽丽" : 13606379542,"岳瑜" : 13611987725}
dic2={"王玉兰" : 15619397270,"王强" : 15929494512,"王桂荣" : 13794876998,"邓玉英" : 18890393268,"何小红" : 13292597821}
dic3=dic1.update(dic2)
print(dic3["王强"])
  • 答案:F (False)
  • 解释:dic1.update(dic2) 方法会修改dic1字典(将dic2的键值对添加到dic1中),但该方法返回的是None,而不是新的字典。因此dic3 = dic1.update(dic2) 会让dic3变成None,后续dic3["王强"]会抛出KeyError或TypeError,不会输出15929494512。

正确的做法应该是:

dic1.update(dic2)  # 先更新dic1
print(dic1["王强"])  # 然后从dic1中获取

4. Python集合中的元素可以是列表。(T/F)

1-14:F。列表是可变类型,不能作为 Python 集合中的元素。

5.len(set([0,4,5,6,0,7,8]))的结果是7。 (T/F)

1-18:T。 set([0,4,5,6,0,7,8]) 会去除重复的 0 ,得到的集合元素为 0 、 4 、 5 、 6 、 7 、 8 ,共 6 个元素, len 结果是 6,所以该说法错误,答案应为F。

6.以下哪一句会得到{'1','2','3'}?

A.list("123")

B.tuple("123")

C.set("123")

D.以上都不是

2-2:D。

  • 选项A: list("123") 得到的是列表 ['1', '2', '3'] ;
  • 选项B: tuple("123") 得到的是元组 ('1', '2', '3') ;
  • 选项C: set("123") 得到的是集合 {'1', '2', '3'} ,但集合是无序的,不能保证顺序就是 {'1','2','3'} ,所以以上选项都不能确定得到 {'1','2','3'} ,选D。

7.给定字典d, 以下选项中对d.items()的描述正确的是 ( )

A.返回一种dict_items类型,包括字典d中所有键值对

B.返回一个元组类型,每个元素是一个二元元组,包括字典d中所有键值对

C.返回一个列表类型,每个元素是一个二元元组,包括字典d中所有键值对

D.返回一个集合类型,每个元素是一个二元元组,包括字典d中所有键值对

2-7:A。 d.items() 返回的是 dict_items 类型,其中包含字典 d 所有的键值对。

8.给定字典d,以下选项中对x in d的描述正确的是 ( )

A.x是一个二元元组,判断x是否是字典d中的键值对

B.判断x是否是字典d中的键

C.判断x是否是在字典d中以键或值方式存在

D.判断x是否是字典d中的值

2-8:B。 x in d 是判断 x 是否是字典 d 中的键。

9.对于集合s,以下哪个操作是不存在的?

A.len(s)

B.s.append(1)

C.max(s)

D.s - {1}

2-11:B。集合没有 append 方法, append 是列表的方法。

集合有add(elem),update(iterable),remove(elem),discard(elem),pop(),clear()

10.返回集合中元素个数的函数是______。

A.size()

B.len()

C.elements()

D.count()

2-14: len() 。 len() 函数可以返回集合中元素的个数。

Python 中常用的集合运算符号及对应功能如下:

  • 交集(&):返回两个集合中共同拥有的元素。
    示例: {1,2,3} & {2,3,4} → {2,3}
  • 并集(|):返回两个集合中所有的元素(去重)。
    示例: {1,2,3} | {2,3,4} → {1,2,3,4}
  • 差集(-):返回只属于第一个集合而不属于第二个集合的元素。
    示例: {1,2,3} - {2,3,4} → {1}
  • 对称差集(^):返回只属于其中一个集合的元素(不包含两者共有的元素)。
    示例: {1,2,3} ^ {2,3,4} → {1,4}
  • 子集判断(<=):判断第一个集合是否是第二个集合的子集。
    示例: {1,2} <= {1,2,3} → True
  • 超集判断(>=):判断第一个集合是否是第二个集合的超集。
    示例: {1,2,3} >= {1,2} → True

11.已知a={5:'F',8:'C',4:'D',9:'A',3:'K',6:'L'} ,执行下面( )可以得到排序后的列表:

[(3, 'K'), (4, 'D'), (5, 'F'), (6, 'L'), (8, 'C'), (9, 'A')]

A.sorted(a.items())

B.sorted(a.items(),key=lambda x:x[0])

C.sorted(a)

D.sorted(a.items(),key=lambda x:x[1])

3-1:AB。

  • 选项A: sorted(a.items()) 会对字典 a 的键值对按照键进行升序排序,能得到目标列表。
  • 选项B: sorted(a.items(), key=lambda x: x[0]) 明确指定按照键( x[0] )进行排序,也能得到目标列表。
  • 选项C: sorted(a) 只是对字典的键进行排序,得到的是键的列表,不是键值对的列表,不符合要求。
  • 选项D: sorted(a.items(), key=lambda x: x[1]) 是按照值进行排序,不符合按键排序的要求。

12.下面能创建集合{'MicroSoft', 'Google', 'Oracle', 'Taobao', 'Runoob'}的是( )

A.

 set("Google", "Runoob", "Taobao","MicroSoft","Oracle")

B.

 set(("Google", "Runoob", "Taobao","MicroSoft","Oracle"))

C.

 set(["Google", "Runoob", "Taobao","MicroSoft","Oracle"])

D.

 set("Google, Runoob, Taobao,MicroSoft,Oracle")

3-4:
答案:BC。
解析:

  • 选项A: set 函数如果有多个参数,这些参数需要是可迭代对象,不能直接这样传递多个字符串参数,该选项错误。
  • 选项B:将元组 ("Google", "Runoob", "Taobao","MicroSoft","Oracle") 传递给 set 函数,可以创建对应的集合,该选项正确。
  • 选项C:将列表 ["Google", "Runoob", "Taobao","MicroSoft","Oracle"] 传递给 set 函数,能创建对应的集合,该选项正确。
  • 选项D: set("Google, Runoob, Taobao,MicroSoft,Oracle") 会将字符串中的每个字符作为集合元素,而不是期望的五个字符串,该选项错误。
分类: Languages 标签: Python

评论

暂无评论数据

暂无评论数据

目录