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中字典的鍵必須是可以哈希的對象