Print variable name in python
本问题已经有最佳答案,请猛点这里访问。
这里的bkd_训练,bkd_测试是数据帧。
我想把数据帧的名字和它的形状一起打印出来。
1 2 | for data in [bkd_train, bkd_test]: print("{} : {}".format(?, data.shape)) |
如果我使用的是"数据",那么它正在打印数据帧。
但我想要这样的O/P:
1 2 | bkd_train : (10886, 12) bkd_test : (1111,11) |
我将迭代变量名本身,然后使用
1 2 3 | for dataName in ['bkd_train', 'bkd_test']: data = eval(dataName) print("{} : {}".format(dataName, data.shape)) |
不能将变量名作为字符串获取,但可以在输入中传递字符串并查询
1 2 | for data in ["bkd_train","bkd_test"]: print("{} : {}".format(data,locals()[data].shape)) |
如果变量是局部的,它就会工作。如果它们是全局的,则使用
另请阅读:如何将变量名作为字符串获取?