我正在跟踪的示例项目使用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()
似乎不是正确的工具工作。
这两者之间有什么区别?为了达到相同的目的,似乎采取了不同的方法,但是我试图理解开发人员的合理性。
答案 0 :(得分:0)
pop()
可能会返回与dict或列表索引相同的值,但也会从数据结构中删除元素,而后者则不会。
此外,字典中没有“最后值”,因为它是无序的。您还可以通过执行负索引或索引len(l) - 1
来获得列表中的最后一个元素。