Skip to main content
 首页 » 编程设计

Python 这段代码做了什么列表=列表[列表!=值]

2025年05月04日15wuhuacong

如标题所示,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'