我如何在循环中打印特定变量?

How i do a print for a specific variable in a loop?

我想打印一个特定的名称和我执行的函数的结果。我正在使用此代码:

arrays=[qda_confusion_matrix, Knn_5_confusion_matrix, Tree_Boo_confusion_matrix]
names=['QDA', '5-NN', 'Tree con Boosting']
for name in names:
    for array in arrays:
        print(name,'\n')
        Spe=Specificity(array)

如您所见,我想在变量数组具有的每个数组中执行函数 Specificity(array)。尽管如此,我也希望对于第一个数组,在这个例子中是 qda_confusion_matrix 出现模型的名称,即 QDA 然后是结果。

这段代码的结果是:

QDA 

Specificity: 0.235
QDA 

Specificity: 0.059
QDA 

Specificity: 0.306
5-NN 

Specificity: 0.235
5-NN 

Specificity: 0.059
5-NN 

Specificity: 0.306
Tree con Boosting 

Specificity: 0.235
Tree con Boosting 

Specificity: 0.059
Tree con Boosting 

Specificity: 0.306

这个结果是错误的,因为我想要的是:

QDA
Specificity: 0.235

5-NN
Specificity: 0.059

Tree con Boosting
Specificity: 0.306

您需要 zip() 并行遍历两个列表

arrays=[qda_confusion_matrix, Knn_5_confusion_matrix, Tree_Boo_confusion_matrix]
names=['QDA', '5-NN', 'Tree con Boosting']

for value, name in zip(arrays, names):
    print(name)
    Spe = Specificity(value)