1. 字典操作中 del 和 pop 有什么区别
答:del 可以根据索引(元素所在位置)来删除的,没有返回值。 pop 可以根据索引弹出一个值,然后可以接收它的返回值。
参考一
参考二
2. 按照字典的内的年龄排序
d1 = [
{‘name’:‘alice’, ‘age’:38},
{‘name’:‘bob’, ‘age’:18},
{‘name’:‘Carl’, ‘age’:28},
]
答:
d1 = [{'name': 'alice', 'age': 38},{'name': 'bob', 'age': 18},{'name': 'Carl', 'age': 28},
]print(sorted(d1, key=lambda x:x["age"]))
运行结果
[{'name': 'bob', 'age': 18}, {'name': 'Carl', 'age': 28}, {'name': 'alice', 'age': 38}]
3. 请合并下面两个字典 a = {“A”:1,“B”:2},b = {“C”:3,“D”:4}
答: 合并字典方法很多,可以使用 a.update(b) 或者下面字典解包的方式
a = {"A":1,"B":2}
b = {"C":3,"D":4}
#方法一:
a.update(b)
print("value:%s" %a)#方法二
# print({**a,**b})
输出结果:
value:{'A': 1, 'B': 2, 'C': 3, 'D': 4}
4. 把字典的 key 和 value 值调换
方法一:
d = {'a':'1', 'b':'2'}print({v:k
for k, v in d.items()})
方法二:
new_s = dict(zip(d.values(),d.keys()))
print(new_s)
输出结果:
{'1': 'a', '2': 'b'}
5. 如何把元组 (“a”,“b”) 和元组 (1,2),变为字典 {“a”:1,“b”:2}
答: zip 的使用,但是最后记得把 zip 对象再转换为字典。
a = ("a", "b")
b = (1, 2)
print(dict(zip(a, b)))
输出结果:
{'a': 1, 'b': 2}
6. 下列字典对象键类型不正确的是?
A:{1:0,2:0,3:0}
B:{“a”:0, “b”:0, “c”:0}
C: {(1,2):0, (2,3):0}
D: {[1,2]:0, [2,3]:0}
答:D 因为只有可 hash 的对象才能做字典的键,列表是可变类型不是可 hash 对象,所以不能用列表做为字典的键。
参考文献:python中字典的键必须是可以哈希的对象