首页 > 解决方案 > 检查变量名中是否存在子字符串 - Python

问题描述

我有一个将给定变量作为参数的函数。这个变量是一个 numpy 数组。伪代码示例:

def foo(var):
   if 'test' in the name of var:
      do something

return

我尝试了不同的选择,比如

if 'test' in var: 

或者

if var == 'test_complete_name_of_var'

但这些只是检查数组的值,而不是变量名。我希望可能有某种技巧,例如:

if 'test' in var.name()

关于如何解决这个问题的任何想法?

标签: pythonnumpy

解决方案


通常,如果您想做类似的事情,您可以创建一个字典并将变量存储在一个名称下。这样你也可以检查它。

例子:

dict_variables = {}
dict_variables["var_1"] = ["a", "b", "test"]

def foo(var_name):
    var_value = dict_variables.get(var_name)
    if 'var_' in var_name:
       print(var_value)
       
foo("var_1")
#out: ['a', 'b', 'test']

有用的,例如路径和数据框变量。


推荐阅读