1.在python3中,对程序结果说明正确的是:(B)
dicts = {'one': 1, 'two': 2, 'three': 3} tmp = dicts.copy() tmp['one'] = 'abc' print(dicts) print(tmp)
A.['one': 1, 'two': 2, 'three': 3],['one': 'abc', 'two': 2, 'three': 3]
B.{'one': 1, 'two': 2, 'three': 3},{'one': 'abc', 'two': 2, 'three': 3}
C.{'one': 'abc', 'two': 2, 'three': 3},{'one': 'abc', 'two': 2, 'three': 3}
D.{'one': 1, 'two': 2, 'three': 3},{'one': 1, 'two': 2, 'three': 3}
解析:
在python3中,dict.copy()表示返回一个字典的浅复制,并且复制后的新的字典元素变化不会影响原来的字典。注意:字典数据类型的copy函数,当简单的值替换的时候,原始字典和复制过来的字典之间互不影响,但是当添加,删除等修改操作的时候,两者之间会相互影响。所以新字典的值的替换对原字典没有影响。
2.在python3中,下列程序运行结果为:(C)
strs = ['a', 'ab', 'abc', 'abcd'] dicts ={} for i in range(len(strs)): dicts[i] = strs[i] print(dicts)
A.[0: 'a', 1: 'ab', 2: 'abc', 3: 'abcd']
B.{1: 'a', 2: 'ab', 3: 'abc', 4: 'abcd'}
C.{0: 'a', 1: 'ab', 2: 'abc', 3: 'abcd'}
D.[1: 'a', 2: 'ab', 3: 'abc', 4: 'abcd']
解析:
通过循环方式获取列表中每个位置的字符,并存入字典 dicts 中,最终返回结果为字典{},不是列表[];而且字典中位置索引是从0开始,因此最后结果为 {0: 'a', 1: 'ab', 2: 'abc', 3: 'abcd'}。
3.在Python3中,下列程序结果为:(B)
dicts = {'a': 1, 'b': 2, 'c': 3} print(dicts.pop())
A.{'c': 3}
B.报错
C.3
D.('c': 3)
解析:
Python 字典 pop() 方法删除字典 key(键)所对应值,返回被删除的值,pop(key[,default]);key (要删除的键),default(当键 key 不存在时返回的值);如果 key 存在 - 删除字典中对应的元素;如果 key 不存在 - 返回设置指定的默认值 default;如果 key 不存在且默认值 default 没有指定 - 触发 KeyError 异常。
4.在Python3中,下列说法正确的是:(C)
sets = {1, 2, 3, 4, 5} print(sets[2])
A.2
B.3
C.报错
D.{3}
解析:
在Python3中,集合不能索引取值,因此会报错:TypeError: 'set' object is not subscriptable;集合set主要利用其唯一性,并集|、交集&等操作,但不可以直接通过下标进行访问,必须访问时可以将其转换成list再访问。
5.在Python3中,下列程序结果为:(D)
dict1 = {'one': 1, 'two': 2, 'three': 3} dict2 = {'one': 4, 'tmp': 5} dict1.update(dict2) print(dict1)
A.{'one': 1, 'two': 2, 'three': 3, 'tmp': 5}
B.{'one': 4, 'two': 2, 'three': 3}
C.{'one': 1, 'two': 2, 'three': 3}
D.{'one': 4, 'two': 2, 'three': 3, 'tmp': 5}
解析:
在Python3中,dict.update(dict2)表示把字典dict2的键/值对更新到dict里,因此在程序中会将 dict2 中的键为‘one’ 的值更新到dict1 中的作为键为‘one’ ,因为 dict2 中的键为‘tmp’ 是新的,所以在 dict1 中添加新的键/值。