在下面的代码块中,我只想传输字典的名称(result\ dict),而不想传输内容。你知道吗
def define_var(dictionary, entry, counter):
for i in range(counter):
print "reason%d = %s['%s_%d']" % (i + 1, dictionary, entry, counter)
当我调用如下函数时:
define_var(result_dict, 'start', 3)
它打印:
reason1 = {'start_2': 'test2', 'start_3': 'test3', 'start_1': 'test1'}['start_1']
但我想把它印成这样:
reason1 = result_dict[start_1]
reason2 = result_dict[start_2]
等等
您可以在globals中找到对象:
如果传入
result_dict
时在函数中print(id(result_dict))
和print(id(dictionary))
您将看到它们都是具有相同id的相同对象,因此我们只需使用is
从global
dict获取名称如果要将结果分配给原因变量,可以返回它,如下所示:
或者用口述:
相关问题 更多 >
编程相关推荐