您可以从python中的商品名称列表中找到商品吗?

时间:2020-10-03 02:01:15

标签: python string list

所以我想知道是否可以从列表中找到其名称的项目。我正在使用一种非常简单的编程语言,并且使用变量,有两个列表:

var_name = []
variable_data = []

如果您输入分配变量的命令,我已经创建了一种将变量分配给这些列表的算法。这是代码:

if 'var:> ' in user_input:
  varnames.append(user_input.replace('var:> ', "").split(', ', 1)[0])
  variable_data.append(re.sub(r'.*, ', "", user_input))

如果您想知道,我用语言编写变量的代码是:

var:> var_name, var_data

但是,对诸如打印和输入之类的代码进行编码不支持变量,因为我需要创建某种类型的转换器,该转换器可以从字符串输入的列表中获取项目。例如,如果在我的编程语言中有一个名为x的变量,您是否可以进行某种翻译,以从名为x的字符串中找到列表中的x项?

例如: 如果要打印变量,或者:

print:var> x

是否存在一种形式来创建某种转换器,以翻译x并将其带到变量名称列表中的“ x”项? 另外,我正在考虑为此使用字典,因此,如果它更简单,您也可以为该方法提供一种方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用字典。它是将键转换为值的映射。 必须是不可变的值,例如字符串,并且可以是任何python数据类型。字典非常适​​合您的应用。

dict = {}
if 'var:> ' in user_input:
  key = user_input.replace('var:> ', "").split(', ', 1)[0]
  value = re.sub(r'.*, ', "", user_input)
  dict[key] = value
  # dict = {'var_name':'var_data'}

获取 x 的数据。使用正则表达式从输入中获取x。然后从字典中获取

key = re.search(r'var>(?P<key>.*)', d).group('key').strip()
value = dict.get(key, "Variable not defined yet")
# gives value of x if exist, else return "Variable not defined yet"