Python的函数是否与std::move相似?

2024-09-29 23:16:56 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> cache = {}
>>> cache['1'] = 'long string'
>>> cache['2'] = 'very long string'
>>> buffer = {}
>>> buffer['1'] = cache['1']
>>> del cache['1']
>>> buffer['2'] = cache['2']
>>> del cache['2']
>>> cache
{}
>>> buffer
{'1': 'long string', '2': 'very long string'}

我有两个大字典(即cache和buffer)。我需要定期将内容从cache移到buffer,并从cache删除复制的项。在

< Python是否提供了类似于C++ 11 STD的功能::移动,这样我就不必再做一个项目的副本了,以后会被删除吗?在

根据@JETM的评论更新

^{pr2}$

缓存['1']的值似乎没有复制到缓冲区['1']中。在


Tags: 项目功能cache内容stringbuffer副本评论
1条回答
网友
1楼 · 发布于 2024-09-29 23:16:56

在这种情况下,您可以使用^{}

buffer['1'] = cache.pop('1')

不过,值得注意的是,在Python中,对象更像是指针的同义词;也就是说,当您执行此复制时,不会复制任何数据,您只需在buffer中添加对该对象的引用,并从cache中删除对该对象的引用。也就是说,只有指针被复制。在

相关问题 更多 >

    热门问题