按理说使用update函数可以将numdict中的元素更新到keydict中,可为什么返回的结果却是None
keydict = {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101, 'f': 102, 'g': 103, 'h': 104, 'i': 105, 'j': 106, 'k': 107,
'l': 108, 'm': 109, 'n': 110, 'o': 111, 'p': 112, 'q': 113, 'r': 114, 's': 115, 't': 116, 'u': 117, 'v': 118,
'w': 119, 'x': 120, 'y': 121, 'z': 122}
numdict = {"0": 124, "1": 125, "2": 126, "3": 127, "4": 128, "5": 129, "6": 130, "7": 131, "8": 132, "9": 133}
print(keydict.update(numdict))
# 运行结果
None
你可以理解update()只是一个操作动作,并不会有返回值,所以当你print这个动作虽然返回的是None,但原来的字典已经更新成功了; 就像Python的sort()排序函数,也是不返回值,sorted()才是排序后有返回值。
update函数属于就地修改,无返回值
你打印的是keydict.update()调用是结果,update方法没有返回值所以打印的结果就是None,要看更新的结果直接打印keydict
你打印下keydict看看是不是更新了,update没有返回值原地 修改字典
keydict = {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101, 'f': 102, 'g': 103, 'h': 104, 'i': 105, 'j': 106, 'k': 107,
'l': 108, 'm': 109, 'n': 110, 'o': 111, 'p': 112, 'q': 113, 'r': 114, 's': 115, 't': 116, 'u': 117, 'v': 118,
'w': 119, 'x': 120, 'y': 121, 'z': 122}
numdict = {"0": 124, "1": 125, "2": 126, "3": 127, "4": 128, "5": 129, "6": 130, "7": 131, "8": 132, "9": 133}
keydict.update(numdict)
print(keydict)
这样就可以啦,不要直接打印操作