Python 3.6 - 变量值是否可以用作Dict中键值的一部分?

时间:2018-05-19 12:02:26

标签: python python-3.x dictionary

我正在使用Python 3.6

我可以使用.format函数将变量值作为新变量值的一部分插入,如下所示:

var_1 = "First_Var"

var_2 = "Second_Var_{}".format(var_1)

print (var_1, var_2)

运行时打印:

First_Var Second_Var_First_Var

我希望能够根据以下代码在varict中插入var_1和var_2的值作为值:

var_1 = "First_Var"

var_2 = "Second_Var_{}".format(var_1)

dict_with_inserts = {'First_Var': '{}_inserted', 'Second_Var': '{}_inserted'}.format(var_1, var_2)

print (dict_with_inserts)

当我运行以上内容时,我收到以下错误:

AttributeError: 'dict' object has no attribute 'format'

所以我似乎无法在dicts上使用.format函数。是否有另一种方法可以执行此操作,或者是否无法在Python dict中插入变量的值?

非常感谢任何示例或帮助。

4 个答案:

答案 0 :(得分:1)

你可以这样做:

var_1 = "First_Var"

var_2 = "Second_Var_{}".format(var_1)

dict_with_inserts = {'First_Var': '{}_inserted'.format(var_1), 
'Second_Var': '{}_inserted'.format(var_2)}

print (dict_with_inserts)

答案 1 :(得分:1)

这是你正在寻找的吗?

var_1 = "First_Var"
var_2 = "Second_Var_{}".format(var_1)

dict_with_inserts = {'First_Var': '{}_inserted'.format(var_1), 'Second_Var': '{}_inserted'.format(var_2)}

print (dict_with_inserts)

答案 2 :(得分:1)

format函数仅适用于字符串

然而,这将达到与您尝试的相同的结果:

var_1 = "First_Var"

var_2 = "Second_Var_{}".format(var_1)

dict_with_inserts = {'First_Var': '{}_inserted'.format(var_1), 'Second_Var': '{}_inserted'.format(var_2)}

print (dict_with_inserts)

答案 3 :(得分:1)

在python 3.6中,您还可以使用literal strings(也称为f-strings):

var_1 = 'teststring'

mydict = {'first_var': f'{var_1}_inserted'}

print(mydict)
>> {'first_var': 'teststring_inserted'}