[英]Printing using globals() in Python
我正在尝试打印每个数据集的形状,但它没有按我的意愿打印。
for i in train_set, train_labels, test_set, test_labels:
name = [x for x in globals() if globals()[x] is i][1]
print("The {0} shape is {1}".format(name, i.shape))
output 是:
i 形状是 (1700, 20)
i 形状是 (1700,)
i 形状是 (300, 20)
i 形状是 (300,)
'i' 的值不会被替换。 有人可以指导我这有什么问题:
如果这只是用于调试或状态信息,那么正确的方法是:
for name,table in (
('train_set', train_set),
('train_labels', train_labels),
('test_set', test_set),
('test_labels', test_labels) ):
print("The {0} shape is {1}".format(name, table.shape)
如果您需要的名称不止于此,请不要在单个变量中创建它们:
data['train_set'] = train_set
data['train_labels'] = train_labels
data['test_set'] = test_set
data['test_labels'] = test_labels
现在,您可以将名称和表格放在一个方便的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.