pop()和从dict获取密钥之间有什么区别?

时间:2019-10-29 22:17:02

标签: python python-3.x

我正在跟踪的示例项目使用pop('password')从字典中获取password键,而不是使用data['password']或'data.get('password')`。

示例:

    def update(self, instance, validated_data):
        if 'password' in validated_data:
            password = validated_data.pop('password')
            instance.set_password(password)

        if 'email' in validated_data:
            instance.email = validated_data['email']
            instance.save()

我确实了解pop()在使用索引时的用途,或者只是公然地从列表中获取最后一个值,但是当指定键时,pop()似乎不是正确的工具工作。

这两者之间有什么区别?为了达到相同的目的,似乎采取了不同的方法,但是我试图理解开发人员的合理性。

1 个答案:

答案 0 :(得分:0)

pop()可能会返回与dict或列表索引相同的值,但也会从数据结构中删除元素,而后者则不会。

此外,字典中没有“最后值”,因为它是无序的。您还可以通过执行负索引或索引len(l) - 1来获得列表中的最后一个元素。