如何读取变量名称python

时间:2018-11-17 03:12:09

标签: python

有人可以在这里读取变量名称的方法帮助我吗?

selectVehicle(v){
  this.selected_vehicle_id = v._id;
}

我需要创建一个包含这些变量的列表

5 个答案:

答案 0 :(得分:1)

如果您确定,这就是您想要的:

cacti = [value for name, value in vars().items() if name.startswith('cactus_')]

最好使用list

cacti = ['values', 'are', 'not', 'relevant', 'right', 'now']

dict首先,但:

{
    1: 'values',
    2: 'are',
    3: 'not',
    4: 'relevant',
    5: 'right',
    6: 'now',
}

答案 1 :(得分:0)

我对您想要的东西有些困惑,但我会给您一个机会!您要创建一个由这些变量组成的列表吗?

如果只有六个,则可以执行以下操作。

list = []
list.append(cactus_1)
list.append(cactus_2)
list.append(cactus_3)
list.append(cactus_4)
list.append(cactus_5)
list.append(cactus_6)

这将为您提供如下列表:

[“值”,“是”,“不是”,“相关”,“正确”,“现在”]

希望这很有帮助!

答案 2 :(得分:0)

您真正想要的是一个键-值对,这是通过字典结构获得的。

# python

cactus_6 = "values"
cactus_5 = "are"
cactus_4 = "not"
cactus_3 = "relevant"
cactus_2 = "right"
cactus_1 = "now"

成为:

my_cactus_values = {
    "cactus_6": "values",
    "cactus_5": "are",
    "cactus_4": "not",
    "cactus_3": "relevant",
    "cactus_2": "right",
    "cactus_1": "now",
}

然后,您可以使用items方法遍历它们。

for name, value in my_cactus_values.items():
    print(name, value)

答案 3 :(得分:0)

如上所述,通过使用字典,您可以存储密钥,而无需手动分配密钥。

以下示例提供了这一点:

#creates an example list of your values
values = "values are not relevant right now".split() 

#dict comprehension that adds an incremental value to the key name, starting from 1
cactuses = {'cactus{}'.format(idx):val for idx,val in enumerate(values,1)}
cactuses

{'cactus1': 'values',
 'cactus2': 'are',
 'cactus3': 'not',
 'cactus4': 'relevant',
 'cactus5': 'right',
 'cactus6': 'now'}

通过在此处使用从1开始的枚举,它会根据列表中项目的长度递增地添加,并将其附加到您的cactus键上,然后通过字典理解来存储其值。

答案 4 :(得分:0)

尝试使用eval()。像这样……

cactus_6 = "values"
cactus_5 = "are"
cactus_4 = "not"
cactus_3 = "relevant"
cactus_2 = "right"
cactus_1 = "now"
cmd = '[' + ','.join(["cactus_%s" % x for x in range(1,7)]) + ']'
eval(cmd)
['now', 'right', 'relevant', 'not', 'are', 'values']