在Python中,dict.pop(a,b)是什么意思?

发布于 2021-01-29 15:09:40

class a(object):
    data={'a':'aaa','b':'bbb','c':'ccc'}
    def pop(self, key, *args):
            return self.data.pop(key, *args)#what is this mean.

b=a()
print b.pop('a',{'b':'bbb'})
print b.data

self.data.pop(key, *args) ←------为什么还有第二个论点?

关注者
0
被浏览
166
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    pop字典的方法(例如self.data{'a':'aaa','b':'bbb','c':'ccc'}这里)有两个参数-
    请参阅文档

    第二个参数default是什么pop返回如果第一个参数,key是不存在的。(如果pop仅使用一个参数调用key,则在没有该键的情况下会引发异常)。

    在您的示例中print b.pop('a',{'b':'bbb'}),这是不相关的,因为它'a' 是中
    的键b.data。但是,如果您重复该行…:

    b=a()
    print b.pop('a',{'b':'bbb'})
    print b.pop('a',{'b':'bbb'})
    print b.data
    

    您会看到它有所不同:第一个pop删除了'a'键,因此第二个实际上返回popdefault参数(因为'a'现在不存在b.data)。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看