如标题所示,ans_list
是一个答案列表,ans_index
是一个数字(答案在词汇表中的索引,但与atm无关)
这里生成的 tree.anslist
是什么? (例如,仅针对第一个),忽略迭代。
for tree in train_trees:
tree.ans_list = ans_list[ans_list != tree.ans_ind]
我自己尝试了一些代码,但没有成功得出任何意义
更新:我错过了一行将数字列表更改为数组的代码。
ans_list = array([vocab.index(ans) for ans in ans_list])
最佳答案
ans_list != tree.ans_ind 是一个 bool 值。 True 和 False 在底层表示为整数 0 和 1(这是一个古老的传统,可以追溯到非强类型语言,例如 c 语言就是这样做的)。因此它根据 bool 语句是真还是假返回列表中的第一项或第二项。
>>> l = ['a', 'b', 'c']
>>> l[False]
'a'
>>> l[True]
'b'
关于Python 这段代码做了什么?列表=列表[列表!=值],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204092/