Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除以字符串模式结尾的变量_Python_Python 3.x_Object - Fatal编程技术网

Python 删除以字符串模式结尾的变量

Python 删除以字符串模式结尾的变量,python,python-3.x,object,Python,Python 3.x,Object,要删除Python中的变量/对象,我始终使用: del variable del [variable1, variable2] # removing multiple variables 如何扩展它,以便删除以特定模式结尾的所有变量/对象 我问的原因是我想删除所有的临时对象。我总是以\u tmp结尾来命名它们 作为一种替代方法,但它可以解决您的问题。你可以利用字典。 因此,如果将所有临时对象都保存在字典中,则只需删除该对象 temp_dict = {'variable1_tmp': 1234,

要删除Python中的变量/对象,我始终使用:

del variable
del [variable1, variable2] # removing multiple variables
如何扩展它,以便删除以特定模式结尾的所有变量/对象


我问的原因是我想删除所有的临时对象。我总是以
\u tmp
结尾来命名它们

作为一种替代方法,但它可以解决您的问题。你可以利用字典。 因此,如果将所有临时对象都保存在字典中,则只需删除该对象

temp_dict = {'variable1_tmp': 1234, 'variable2_tmp': 'hello'}
# remove only one temp
del temp_dict['variable1_tmp']
# remove all temp
del temp_dict
尽管这不是动态删除变量,正如您所要求的那样。
希望这可能适合您的使用情况。

“我想删除所有临时对象”-但为什么?Python的垃圾收集器为您完成了这项工作。可能重复@meowgoesthedog我基本上希望这样做,以便Python的变量资源管理器中的概述保持干净。例如,我可能会创建一个新的数据框,为此,我首先创建5个临时对象/变量,然后在变量资源管理器中显示它们。我会给这5个对象起一个以
\u tmp
结尾的名字,这样我想再次删除所有这些对象。这有意义吗?如果他们四处游荡,使调试变得困难,这表明你的范围比你需要的要大得多。例如,在函数中创建数据帧,一旦函数返回,变量就会自动从变量资源管理器中删除。@Ghassen不是我。虽然你的建议无论如何都不起作用。很好的建议,将在我的“最佳实践”中采纳。这似乎有道理。