d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 } print(d) # ==> {'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49} alice_score= d.pop('Alice') print(alice_score) # ==> 45 print(d) # ==> {'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49}
alice_score= d.pop('Alice')这个代码打完以后,原先的dict中'alice'被去掉,形成了一个没有'alice'的dict并且被赋予给了变量alice_score. 那么为什么print(alice_score)后出现的不是去掉'alice'以后剩下的dict呢?为什么print(d)反而出现的是去掉'alice'以后的dict呢?照理来说print(d)以后应该还是原来'alice'没有被删掉的那个dict啊?
d.pop('Alice')是已经对dict中的 'Alice'进行删除,而将删除的结果赋值到alice_score,只是为了让人清楚了解删除key后所返回对应的值